zl程序教程

您现在的位置是:首页 >  其他

当前栏目

Ubantu docker学习笔记(一) docker安装

2023-04-18 14:22:41 时间


一、安装准备工作

更新软件库

sudo apt-get update

安装依赖软件

sudo apt-get install 
    apt-transport-https 
    ca-certificates 
    curl 
    gnupg 
    lsb-release

增加官方key

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

下载仓库文件

echo 
  "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu 
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

二、安装docker

更新软件库

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io -y

运行第一个hello容器

sudo docker run hello-world

这样就完成啦!
在这里插入图片描述

三、问题

如果出现
在这里插入图片描述

Got permission denied while trying to connect to the Docker daemon socket at unix:/

说明我们没有加入新的用户组,我们直接加入组

sudo gpasswd -a $USER docker 

更新组

newgrp docker

再去执行执行你的命令吧!

四、docker镜像配置

创建或修改 /etc/docker/daemon.json 文件,修改为如下形式

sudo vi /etc/docker/daemon.json

daemon.json

{
    "registry-mirrors": [
        "http://hub-mirror.c.163.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://registry.docker-cn.com"
    ]
}

在这里插入图片描述

重启docker

service docker restart

查看是否成功

docker info

在这里插入图片描述

五、docker常见命令

1.新建+启动容器

docker run

–name=“容器新名字” 为容器指定一个名称;
-d: 后台运行容器并返回容器ID,也即启动守护式容器(后台运行);下面重要的后台会讲

-i:以交互模式运行容器,通常与 -t 同时使用; it同时使用
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
也即启动交互式容器(前台有伪终端,等待交互);比如启动容器中的linux

-P: 随机端口映射,大写P
-p: 指定端口映射,小写p

2.列出当前所有正在运行的容器

docker ps

-a :列出当前所有正在运行的容器+历史上运行过的
-l :显示最近创建的容器。
-n:显示最近n个创建的容器。
-q :静默模式,只显示容器编号。

3.退出容器

 exit     (run进去容器,exit退出,容器停止)

ctrl+p+q (常用的) (run进去容器,ctrl+p+q退出,容器不停止)

4.启动已停止运行的容器

​        docker start 容器ID或者容器名

5.重启容器

​       docker restart 容器ID或者容器名

6.停止容器

​      docker stop 容器ID或者容器名

7.强制停止容器 (还在运行的)

​      docker kill 容器ID或容器名

8.删除已停止的容器

​      docker rm 容器ID

重要的后台守护

1.启动守护式容器(后台服务器)

​	docker run -d

2.查看容器日志

​    docker logs 容器ID     (查看后台具体详情)

3.查看容器内运行的进程

​    docker top 容器ID

4.查看容器内部细节

   docker inspect 容器ID

5.进入正在运行的容器并以命令行交互 exec

docker exec -it 容器ID bashShell

6.从容器内拷贝文件到主机上

​	docker cp  容器ID:容器内路径 目的主机路径

7.导入和导出容器

​	export 导出容器的内容留作为一个 tar归档文件[对应import命令]

​	import 从tar包中的内容创建一个新的文件系统再导入为镜像[对应export]