01. Docker初接触

  1. Docker的核心是 Docker engine, 它是一个 single-host software daemon ,帮助我们创建和管理containers
  2. 一个标准的容器生命周期包括: creating, starting, stopping, killing和removing containers.
  3. A Dockerfile is a manifest that describes how to build a container image

centoros 7 install : https://www.cnblogs.com/qingyunzong/p/9011006.html

1. 查看ubuntu内核版本

image.png

2. Ubuntu 18.04安装Docker Enterprise Edition (Docker EE)

2.1更换国内软件源(可选)
先备份一下:sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

/etc/apt/sources.list 是包管理工具 apt 所用的记录软件包仓库位置的配置文件

方法一:
先查看ubuntu的版本名,ubuntu20.04对应的是“focal”,,“eoan”代表ubuntu19.10,“xenial”代表ubuntu16.04,“bionic”代表ubuntu18.04,“disco”代表ubuntu19.04,看的方法如下:

yay@yay-VirtualBox-3:~$ lsb_release -c
Codename:   xenial
yay@yay-VirtualBox-3:~$ 

然后可以用下面阿里云地址中的任意一个:

deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse

然后:

sudo apt update
sudo apt upgrade

方法二:
推荐中国科技大学的源,稳定速度快

sudo sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
sudo apt update

2.2 安装CA证书
在安装Docker之前,首先需要先更新apt,安装CA证书,因为访问Docker用的是https协议;

sudo apt install apt-transport-https ca-certificates software-properties-common curl

2.3 添加 GPG 密钥和 Docker-ce 软件源
这里还是以中国科技大学的 Docker-ce 源为例

curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
$(lsb_release -cs) stable"


说明:如果用上述方法更新Docker国内镜像源失败,则也可用下面这个简单的方法:
第一步,更换镜像地址: /etc/docker/下新建daemon.json,并输入以下内容
{
"registry-mirrors": ["https://alzgoonw.mirror.aliyuncs.com"]
}
第二步,重启Docker,使配置生效:------说明:这个第二步骤不需要
root@yay:~# systemctl daemon-reload
root@yay:~# systemctl restart docker
root@yay:~# docker info
可以看到下面的信息:

图片.png

2.4 添加成功后更新软件包缓存

sudo apt update

2.5 安装 Docker-ce

sudo apt install docker-ce

2.6 设置开机自启动并启动 Docker-ce(安装成功后默认已设置并启动,可忽略)

sudo systemctl enable docker
sudo systemctl start docker

2.7测试运行

sudo docker container run hello-world

2.8 用非root账户访问Docker

yinbodotcc@yay:~$ sudo groupadd docker
yinbodotcc@yay:~$ sudo gpasswd -a ${USER} docker
[sudo] yinbodotcc 的密码: 
正在将用户“yinbodotcc”加入到“docker”组中
yinbodotcc@yay:~$ sudo service docker restart 
yinbodotcc@yay:~$ newgrp - docker

其中:
gpasswd -a:-a参数表示添加用户到组;
newgrp 命令用于登入另一个群组

  1. 查看docker版本信息
image.png

说明:

Images are typically built to run a single process. If your app needs to work with other services, you run those services in their own containers and <font color="red">orchestrate</font> them so that all the containers can work together

  1. 运行一个镜像(第一种容器)
    注意,我本地暂时还没有这个镜像。
    请注意截图里面的1-4信息,它解释发生了什么。


    图片.png

    我们这里基于hello-world镜像运行在容器里面的进程很快就结束了(信息输出来以后就结束了),由于没有进程了,所以容器也会销毁:


    Checking for Running Containers
  2. 打印所有状态的容器
    就上面那个例子来说,我们可以打印所有状态的容器


    图片.png

    也可以使用下面命令查看所有容器状态:

yinbodotcc@yay:~$ sudo docker ps -a
  1. 运行Nginx(第二种容器)
    6.1 初试


    图片.png

    注意,当你运行时,容器是在Foreground运行的,监听容器的80端口Http请求,但不是我们主机的80端口。你这时需要CTRL+C才能关闭这个容器
    6.2 用Detached模式在Background长期运行
    publishes port 80(冒号前面部分) inside the container to port 80 on the host(冒号后面的端口号):


    图片.png

    上图输出了这个容器的unique ID。我们现在可以再次查看running中的容器:
    图片.png

    此时可以试着访问这个Web Server:


    图片.png

    说明:

When requests come in to port 80 on the host now, they will be routed to the container, and the
response will come from the Nginx process running inside the container

7 交互式容器(第三种容器)
只要你通过Docker CLI连接它,它就处于alive状态,这种场景下就如同远程连接到一个a separate machine上。
接下来,我们要运行一个交互式Ubuntu容器:


图片.png

上图可以看到我们在其中执行了一些unix命令。
注意,我们在这个Ubuntu终端输入的命令,比如apt-get update只是对这个容器生效,不会对Image产生影响,即当我们输入exit时,容器就会停止,修改不会被保存的:


图片.png

Application containers 不会像 VMs or physical servers那样被对待—你一般不会连接到一个运行的容器上解决一个问题或者给OS打补丁。容器代价很小,你一般会更新镜像,停止旧容器,并重新创建一个新容器。
小结:

The foundations of Docker are very simple—applications are packaged into images, images are used to run containers on the Docker server, and the Docker client manages the containers。

一些命令总结:

命令类型 命令 说明
查看运行中的容器 docker ps 默认是查看运行中的容器,
-a选项表示查看所有状态的容器
启动容器 docker run
-t 让docker分配一个伪终端并绑定到容器的标准输入上;
-i 则让容器的标准输入保持打开;

-d 作用:run a service in the background(比如启动python自带的web服务器SimpleHTTPServer: $ docker run -d -p 1234:1234 python:2.7 python -m SimpleHTTPServer 1234)。
-m 限制内存大小,达到内存限制的容器过段时间后就会被系统杀死(注意python那个例子里面的-m不是这个意思,那时python启动SimpleHTTPServer服务命令中的一部分)

eg,docker run -t -i ubuntu:14.04 /bin/bash可以开启交互式命令行

eg, docker run -it --rm ubuntu:14.04 bash 在退出容器时会自动删除
在运行的容器中执行命令 docker exec -it 容器名称 /bin/bash -it就是-i -t
删除容器 docker rm 容器id 这个命令可以删除所有容器(其中-V可以删除volume):
$ docker rm -v $(docker ps -aq)
查看下载的镜像 docker images
删除下载的镜像 sudo docker rmi hello-world
停止容器 sudo docker stop 用下面这个命令可以停止所有的容器:
yinbodotcc@yay:~$ docker stop $(docker ps -q)

容器生命周期命令示例

  1. create+start
yinbodotcc@yay:~$ docker create -P --expose=1234 python:2.7 python -m SimpleHTTPServer 1234
6c703306a78c9a73b4eed720c6c5853e2badd54cdd0ee848bd90e3b5c08b4aa5
yinbodotcc@yay:~$ docker start 6c70
6c70
yinbodotcc@yay:~$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                              NAMES
6c703306a78c        python:2.7          "python -m SimpleHTT…"   47 seconds ago      Up 9 seconds        0.0.0.0:32768->1234/tcp                            serene_allen
cd59e08afb06        python:2.7          "python -m SimpleHTT…"   37 minutes ago      Up 37 minutes       0.0.0.0:1234->1234/tcp                             hopeful_nash
51b54b87ba23        jenkins             "/bin/tini -- /usr/l…"   6 hours ago         Up About an hour    0.0.0.0:8080->8080/tcp, 0.0.0.0:50000->50000/tcp   jenkins_master
  1. stop
yinbodotcc@yay:~$ docker stop 6c70
6c70
yinbodotcc@yay:~$ docker stop cd59
cd59
  1. restart
yinbodotcc@yay:~$ docker restart 6c70
6c70
  1. rm
yinbodotcc@yay:~$ docker rm cd59
cd59
yinbodotcc@yay:~$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                              NAMES
6c703306a78c        python:2.7          "python -m SimpleHTT…"   3 minutes ago       Up 12 seconds       0.0.0.0:32769->1234/tcp                            serene_allen
51b54b87ba23        jenkins             "/bin/tini -- /usr/l…"   6 hours ago         Up About an hour    0.0.0.0:8080->8080/tcp, 0.0.0.0:50000->50000/tcp   jenkins_master
yinbodotcc@yay:~$ 

5.直接使用docker run

yinbodotcc@yay:~$ docker run -d -p 1234:1234 python:2.7 python -m SimpleHTTPServer 1234

下面贴出我终端上完整安装Docker-ce的过程:

yay@yay-ThinkPad-T470:~$ sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak[sudo] yay 的密码: 
yay@yay-ThinkPad-T470:~$ sudo sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
yay@yay-ThinkPad-T470:~$ sudo apt update
获取:1 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]   
命中:2 https://download.sublimetext.com apt/stable/ InRelease                  
获取:3 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages [651 kB]
错误:4 http://cn.mirrors.ustc.edu.cn/ubuntu bionic InRelease                   
  连接失败 [IP: 202.141.176.110 80]
错误:5 http://cn.mirrors.ustc.edu.cn/ubuntu bionic-updates InRelease           
  连接失败 [IP: 202.141.176.110 80]
获取:6 http://security.ubuntu.com/ubuntu bionic-security/main i386 Packages [442 kB]
错误:7 http://cn.mirrors.ustc.edu.cn/ubuntu bionic-backports InRelease         
  连接失败 [IP: 202.141.176.110 80]
获取:8 http://security.ubuntu.com/ubuntu bionic-security/main amd64 DEP-11 Metadata [38.5 kB]
获取:9 http://security.ubuntu.com/ubuntu bionic-security/main DEP-11 48x48 Icons [17.6 kB]
获取:10 http://security.ubuntu.com/ubuntu bionic-security/main DEP-11 64x64 Icons [41.5 kB]
获取:11 http://security.ubuntu.com/ubuntu bionic-security/universe amd64 Packages [649 kB]
获取:12 http://security.ubuntu.com/ubuntu bionic-security/universe i386 Packages [617 kB]
获取:13 http://security.ubuntu.com/ubuntu bionic-security/universe amd64 DEP-11 Metadata [42.1 kB]
获取:14 http://security.ubuntu.com/ubuntu bionic-security/universe DEP-11 48x48 Icons [16.4 kB]
获取:15 http://security.ubuntu.com/ubuntu bionic-security/universe DEP-11 64x64 Icons [100 kB]
获取:16 http://security.ubuntu.com/ubuntu bionic-security/multiverse amd64 DEP-11 Metadata [2,464 B]
已下载 2,706 kB,耗时 2分 50秒 (15.9 kB/s)                                     
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
有 190 个软件包可以升级。请执行 ‘apt list --upgradable’ 来查看它们。
W: 无法下载 http://cn.mirrors.ustc.edu.cn/ubuntu/dists/bionic/InRelease  连接失败 [IP: 202.141.176.110 80]
W: 无法下载 http://cn.mirrors.ustc.edu.cn/ubuntu/dists/bionic-updates/InRelease  连接失败 [IP: 202.141.176.110 80]
W: 无法下载 http://cn.mirrors.ustc.edu.cn/ubuntu/dists/bionic-backports/InRelease  连接失败 [IP: 202.141.176.110 80]
W: 部分索引文件下载失败。如果忽略它们,那将转而使用旧的索引文件。
yay@yay-ThinkPad-T470:~$ sudo apt install apt-transport-https ca-certificates software-properties-common curl
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
apt-transport-https 已经是最新版 (1.6.12)。
ca-certificates 已经是最新版 (20180409)。
ca-certificates 已设置为手动安装。
software-properties-common 已经是最新版 (0.96.24.32.9)。
software-properties-common 已设置为手动安装。
将会同时安装下列软件:
  libcurl4
下列【新】软件包将被安装:
  curl libcurl4
升级了 0 个软件包,新安装了 2 个软件包,要卸载 0 个软件包,有 190 个软件包未被升级。
需要下载 373 kB 的归档。
解压缩后会消耗 1,038 kB 的额外空间。
您希望继续执行吗? [Y/n] Y
获取:1 http://security.ubuntu.com/ubuntu bionic-security/main amd64 libcurl4 amd64 7.58.0-2ubuntu3.8 [214 kB]
获取:2 http://security.ubuntu.com/ubuntu bionic-security/main amd64 curl amd64 7.58.0-2ubuntu3.8 [159 kB]
已下载 373 kB,耗时 3秒 (133 kB/s)
正在选中未选择的软件包 libcurl4:amd64。
(正在读取数据库 ... 系统当前共安装有 128789 个文件和目录。)
正准备解包 .../libcurl4_7.58.0-2ubuntu3.8_amd64.deb  ...
正在解包 libcurl4:amd64 (7.58.0-2ubuntu3.8) ...
正在选中未选择的软件包 curl。
正准备解包 .../curl_7.58.0-2ubuntu3.8_amd64.deb  ...
正在解包 curl (7.58.0-2ubuntu3.8) ...
正在设置 libcurl4:amd64 (7.58.0-2ubuntu3.8) ...
正在处理用于 libc-bin (2.27-3ubuntu1) 的触发器 ...
正在处理用于 man-db (2.8.3-2ubuntu0.1) 的触发器 ...
正在设置 curl (7.58.0-2ubuntu3.8) ...
yay@yay-ThinkPad-T470:~$ curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
OK
yay@yay-ThinkPad-T470:~$ sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
> $(lsb_release -cs) stable"
错误:1 http://cn.mirrors.ustc.edu.cn/ubuntu bionic InRelease
  连接失败 [IP: 202.141.176.110 80]
命中:2 http://security.ubuntu.com/ubuntu bionic-security InRelease                                                                                                                
命中:3 https://download.sublimetext.com apt/stable/ InRelease                                                                             
错误:4 http://cn.mirrors.ustc.edu.cn/ubuntu bionic-updates InRelease                                         
  连接失败 [IP: 202.141.176.110 80]
获取:5 https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu bionic InRelease [64.4 kB]                                       
获取:6 https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu bionic/stable amd64 Packages [10.3 kB]                           
错误:7 http://cn.mirrors.ustc.edu.cn/ubuntu bionic-backports InRelease
  连接失败 [IP: 202.141.176.110 80]
已下载 74.7 kB,耗时 9秒 (8,541 B/s)
正在读取软件包列表... 完成
W: 无法下载 http://cn.mirrors.ustc.edu.cn/ubuntu/dists/bionic/InRelease  连接失败 [IP: 202.141.176.110 80]
W: 无法下载 http://cn.mirrors.ustc.edu.cn/ubuntu/dists/bionic-updates/InRelease  连接失败 [IP: 202.141.176.110 80]
W: 无法下载 http://cn.mirrors.ustc.edu.cn/ubuntu/dists/bionic-backports/InRelease  连接失败 [IP: 202.141.176.110 80]
W: 部分索引文件下载失败。如果忽略它们,那将转而使用旧的索引文件。
yay@yay-ThinkPad-T470:~$ sudo apt update
命中:1 http://security.ubuntu.com/ubuntu bionic-security InRelease                                                                                                                          
命中:2 https://download.sublimetext.com apt/stable/ InRelease                                                                                                                               
错误:3 https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu bionic InRelease                                                                
  Could not wait for server fd - select (11: 资源暂时不可用) [IP: 2001:da8:d800:95::110 443]
错误:4 http://cn.mirrors.ustc.edu.cn/ubuntu bionic InRelease                      
  连接失败 [IP: 202.141.176.110 80]
错误:5 http://cn.mirrors.ustc.edu.cn/ubuntu bionic-updates InRelease
  连接失败 [IP: 202.141.176.110 80]
错误:6 http://cn.mirrors.ustc.edu.cn/ubuntu bionic-backports InRelease
  连接失败 [IP: 202.141.176.110 80]
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
有 190 个软件包可以升级。请执行 ‘apt list --upgradable’ 来查看它们。
W: 无法下载 http://cn.mirrors.ustc.edu.cn/ubuntu/dists/bionic/InRelease  连接失败 [IP: 202.141.176.110 80]
W: 无法下载 http://cn.mirrors.ustc.edu.cn/ubuntu/dists/bionic-updates/InRelease  连接失败 [IP: 202.141.176.110 80]
W: 无法下载 http://cn.mirrors.ustc.edu.cn/ubuntu/dists/bionic-backports/InRelease  连接失败 [IP: 202.141.176.110 80]
W: 无法下载 https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/dists/bionic/InRelease  Could not wait for server fd - select (11: 资源暂时不可用) [IP: 2001:da8:d800:95::110 443]
W: 部分索引文件下载失败。如果忽略它们,那将转而使用旧的索引文件。
yay@yay-ThinkPad-T470:~$ sudo apt install docker-ce
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
将会同时安装下列软件:
  containerd.io docker-ce-cli
推荐安装:
  aufs-tools cgroupfs-mount | cgroup-lite git pigz
下列【新】软件包将被安装:
  containerd.io docker-ce docker-ce-cli
升级了 0 个软件包,新安装了 3 个软件包,要卸载 0 个软件包,有 190 个软件包未被升级。
需要下载 85.4 MB 的归档。
解压缩后会消耗 384 MB 的额外空间。
您希望继续执行吗? [Y/n] Y
获取:1 https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu bionic/stable amd64 containerd.io amd64 1.2.10-3 [20.0 MB]
获取:2 https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu bionic/stable amd64 docker-ce-cli amd64 5:19.03.6~3-0~ubuntu-bionic [42.5 MB]                                                                    
获取:3 https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu bionic/stable amd64 docker-ce amd64 5:19.03.6~3-0~ubuntu-bionic [22.9 MB]                                                                        
已下载 85.4 MB,耗时 55秒 (1,565 kB/s)                                                                                                                                                                     
正在选中未选择的软件包 containerd.io。
(正在读取数据库 ... 系统当前共安装有 128802 个文件和目录。)
正准备解包 .../containerd.io_1.2.10-3_amd64.deb  ...
正在解包 containerd.io (1.2.10-3) ...
正在选中未选择的软件包 docker-ce-cli。
正准备解包 .../docker-ce-cli_5%3a19.03.6~3-0~ubuntu-bionic_amd64.deb  ...
正在解包 docker-ce-cli (5:19.03.6~3-0~ubuntu-bionic) ...
正在选中未选择的软件包 docker-ce。
正准备解包 .../docker-ce_5%3a19.03.6~3-0~ubuntu-bionic_amd64.deb  ...
正在解包 docker-ce (5:19.03.6~3-0~ubuntu-bionic) ...
正在设置 containerd.io (1.2.10-3) ...
Created symlink /etc/systemd/system/multi-user.target.wants/containerd.service → /lib/systemd/system/containerd.service.
正在处理用于 ureadahead (0.100.0-21) 的触发器 ...
ureadahead will be reprofiled on next reboot
正在处理用于 systemd (237-3ubuntu10.24) 的触发器 ...
正在处理用于 man-db (2.8.3-2ubuntu0.1) 的触发器 ...
正在设置 docker-ce-cli (5:19.03.6~3-0~ubuntu-bionic) ...
正在设置 docker-ce (5:19.03.6~3-0~ubuntu-bionic) ...
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /lib/systemd/system/docker.service.
Created symlink /etc/systemd/system/sockets.target.wants/docker.socket → /lib/systemd/system/docker.socket.
正在处理用于 ureadahead (0.100.0-21) 的触发器 ...
正在处理用于 systemd (237-3ubuntu10.24) 的触发器 ...
yay@yay-ThinkPad-T470:~$ sudo systemctl enable docker
Synchronizing state of docker.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable docker
yay@yay-ThinkPad-T470:~$ sudo systemctl start docker
yay@yay-ThinkPad-T470:~$ sudo groupadd docker
groupadd:“docker”组已存在
yay@yay-ThinkPad-T470:~$ sudo gpasswd -a $USERNAME docker
正在将用户“yay”加入到“docker”组中
yay@yay-ThinkPad-T470:~$ sudo service docker restart
yay@yay-ThinkPad-T470:~$ newgrp - docker
yay@yay-ThinkPad-T470:~$ docker version
Client: Docker Engine - Community
 Version:           19.03.6
 API version:       1.40
 Go version:        go1.12.16
 Git commit:        369ce74a3c
 Built:             Thu Feb 13 01:27:49 2020
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.6
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.16
  Git commit:       369ce74a3c
  Built:            Thu Feb 13 01:26:21 2020
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.2.10
  GitCommit:        b34a5c8af56e510852c35414db4c1f4fa6172339
 runc:
  Version:          1.0.0-rc8+dev
  GitCommit:        3e425f80a8c931f88e6d94a8c831b9d5aa481657
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683


//注意这里下载hello-world镜像失败,于是增加阿里镜像源  
yay@yay-ThinkPad-T470:~$ sudo docker container run hello-world
Unable to find image 'hello-world:latest' locally
docker: Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled (Client.Timeout exceeded while awaiting headers).
See 'docker run --help'.

yay@yay-ThinkPad-T470:~$ mkdir /etc/docker
mkdir: cannot create directory '/etc/docker': File exists
yay@yay-ThinkPad-T470:~$ sudo mkdir /etc/docker
mkdir: 无法创建目录"/etc/docker": 文件已存在

yay@yay-ThinkPad-T470:~$ sudo touch /etc/docker/daemon.json

yay@yay-ThinkPad-T470:~$ sudo vi /etc/docker/daemon.json

/********
daemon.json内容如下:
{
"registry-mirrors": ["https://alzgoonw.mirror.aliyuncs.com"]
}
********/

yay@yay-ThinkPad-T470:~$ systemctl deamon-reload
Unknown operation deamon-reload.
yay@yay-ThinkPad-T470:~$ systemctl daemon-reload
yay@yay-ThinkPad-T470:~$ systemctl restart docker
yay@yay-ThinkPad-T470:~$ sudo docker container run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete 
Digest: sha256:fc6a51919cfeb2e6763f62b6d9e8815acbf7cd2e476ea353743570610737b752
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

yay@yay-ThinkPad-T470:~$ 


//不是用超级用户也能使用docker命令
yay@yay-ThinkPad-T470:~$ sudo groupadd docker
groupadd:“docker”组已存在
yay@yay-ThinkPad-T470:~$ sudo gpasswd -a ${USER} docker
正在将用户“yay”加入到“docker”组中
yay@yay-ThinkPad-T470:~$ sudo service docker restart
yay@yay-ThinkPad-T470:~$ sudo chmod a+rw /var/run/docker.sock
yay@yay-ThinkPad-T470:~$ 


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、Docker 简介 Docker 两个主要部件:Docker: 开源的容器虚拟化平台Docker Hub: 用...
    R_X阅读 4,585评论 0 27
  • 以下原文转载于(https://docs.docker.com/docker-for-mac/)(想找中文版的最新...
    Veekend阅读 7,822评论 0 17
  • 想要改进这个备忘单吗?参见[贡献](#贡献)部分! 目录 [为何选择Docker](#why-docker) [先...
    iOSDevLog阅读 2,227评论 0 3
  • 干嘛什么东西归纳后都要带个主义,犬儒主义浪漫主义悲观主义乐观主义现实主义魔幻现实主义未来主义。。。。泡菜主义。。。...
    泡豇豆下干饭阅读 117评论 0 0
  • 本周在世行贷款黄山新农村建设项目作采购后审工作,重点审查黄山区、歙县和市项目办三个PIU在2017年签署的合同。
    李先生文波阅读 308评论 0 0

友情链接更多精彩内容