作者 | 微枫Micromaple
来源 | CSDN博客

Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的 CentOS 版本是否支持Docker uname -r
使用 root 权限登录 CentOS。确保 yum 包更新到最新
sudo yum update
sudo yum remove docker docker-common docker-selinux docker-engine
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
设置yum源
-
官方源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
-
阿里云源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
-
清华大学源
sudo yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
sudo yum install docker-ce
yum list docker-ce --showduplicates | sort -rsudo yum install docker-ce-版本号.ce
sudo systemctl start dockersudo systemctl enable docker
docker version
Docker CE 支持以下版本的 Ubuntu 操作系统:
-
Artful 17.10 (Docker CE 17.11 Edge +) -
Xenial 16.04 (LTS) -
Trusty 14.04 (LTS)
Docker CE 可以安装在 64 位的 x86平台或 ARM 平台上。Ubuntu 发行版中,LTS(Long-Term-Support)长期支持版本,会获得 5 年的升级维护支持,这样的版本会更稳定,因此在生产环境中推荐使用 LTS 版本,当前最新的 LTS 版本为 Ubuntu 16.04。
docker-engine,使用以下命令卸载旧版本:sudo apt-get remove docker \docker-engine \docker.io
使用脚本自动安装
curl -fsSL get.docker.com -o get-docker.shsudo sh get-docker.sh --mirror AzureChinaCloud
sudo systemctl enable dockersudo systemctl start docker
-
先执行命令:apt-get autoremove docker-ce
-
删除 /etc/apt/sources.list.d 目录下的 docker.list 文件

Docker 镜像加速器
-
Docker 官方提供的中国 registry mirror -
阿里云加速器 -
DaoCloud 加速器
DOCKER_OPTS="--registry-mirror=https://xxxxxxxx.mirror.aliyuncs.com"
sudo service docker restart
{"registry-mirrors": ["https://xxxxxxxx.mirror.aliyuncs.com"]}
sudo systemctl daemon-reloadsudo systemctl restart docker
Registry Mirrors:https://xxxxxxxx.mirror.aliyuncs.com

Docker 镜像
docker pull
-
Docker 镜像仓库地址:地址的格式一般是 <域名/IP>[:端口号] 。默认地址是 Docker Hub。
$ docker pull ubuntu:16.0416.04: Pulling from library/ubuntu4f53fa4d2cf0: Pull complete6af7c939e38e: Pull complete903d0ffd64f6: Pull complete04feeed388b7: Pull completeDigest: sha256:185fec2d6dbe9165f35e4a1136b4cf09363b328d4f850695393ca191aa1475fdStatus: Downloaded newer image for ubuntu:16.04docker.io/library/ubuntu:16.04
$ docker run -it --rm \ubuntu:16.04 \bashroot@e7009c6ce357:/# cat /etc/os-releaseNAME="Ubuntu"VERSION="16.04.4 LTS, Trusty Tahr"ID=ubuntuID_LIKE=debianPRETTY_NAME="Ubuntu 16.04.4 LTS"VERSION_ID="16.04"HOME_URL="http://www.ubuntu.com/"SUPPORT_URL="http://help.ubuntu.com/"BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
-
it :这是两个参数,一个是 -i :交互式操作,一个是 -t 终端。我们这里打算进入 bash 执行一些命令并查看返回结果,因此我们需要交互式终端。 -
--rm :这个参数是说容器退出后随之将其删除。默认情况下,为了排障需求,退出的容器并不会立即删除,除非手动 docker rm 。我们这里只是随便执行个命令,看看结果,不需要排障和保留结果,因此使用 --rm 可以避免浪费空间。 -
ubuntu:16.04 :这是指用 ubuntu:16.04 镜像为基础来启动容器。 -
bash :放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 bash。
docker image lsREPOSITORY TAG IMAGE ID CREATED SIZEredis latest 5f515359c7f8 5 days ago 183 MBnginx latest 05a60462f8ba 5 days ago 181 MBmongo 3.2 fe9198c04d62 5 days ago 342 MB<none> 00285df0df87 5 days ago 342 MBubuntu 16.04 f753707788c5 4 weeks ago 127 MBubuntu latest f753707788c5 4 weeks ago 127 MBubuntu 14.04 1e0c3dd64ccd 4 weeks ago 188 MB
docker system dfTYPE TOTAL ACTIVE SIZE RECLAIMABLEImages 24 0 1.992GB 1.992GB (100%)Containers 1 0 62.82MB 62.82MB (100%)Local Volumes 9 0 652.2MB 652.2MB (100%)Build Cache
<none> <none> 00285df0df87 5 days ago 342 MB
$ docker image ls -f dangling=trueREPOSITORY TAG IMAGE ID CREATED SIZE<none> <none> 00285df0df87 5 days ago 342 MB
docker image prune
3.2.3 中间层镜像
docker image ls -a
docker image ls ubuntuREPOSITORY TAG IMAGE ID CREATED SIZEubuntu 16.04 f753707788c5 4 weeks ago 127 MBubuntu latest f753707788c5 4 weeks ago 127 MBubuntu 14.04 1e0c3dd64ccd 4 weeks ago 188 MB
docker image ls ubuntu:16.04REPOSITORY TAG IMAGE ID CREATED SIZEubuntu 16.04 f753707788c5 4 weeks ago 127 MB
docker image ls -f since=mongo:3.2REPOSITORY TAG IMAGE ID CREATED SIZEredis latest 5f515359c7f8 5 days ago 183 MBnginx latest 05a60462f8ba 5 days ago 181 MB
docker image ls -f label=com.example.version=0.1...
$ docker image ls -q5f515359c7f805a60462f8bafe9198c04d6200285df0df87f753707788c5f753707788c51e0c3dd64ccd
$ docker image ls --format "{{.ID}}: {{.Repository}}"5f515359c7f8: redis05a60462f8ba: nginxfe9198c04d62: mongo00285df0df87: <none>f753707788c5: ubuntuf753707788c5: ubuntu1e0c3dd64ccd: ubuntu
docker image ls --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"
docker image rm [选项] <镜像1> [<镜像2> ...]
docker image lsREPOSITORY TAG IMAGE ID CREATED SIZEcentos latest 0584b3d2cf6d 3 weeks ago 196.5 MBredis alpine 501ad78535f0 3 weeks ago 21.03 MBdocker latest cf693ec9b5c7 3 weeks ago 105.1 MBnginx latest e43d811ce2f4 5 weeks ago 181.5 MB
$ docker image rm 501Untagged: redis:alpineUntagged: redis@sha256:f1ed3708f538b537eb9c2a7dd50dc90a706f7debd7e1196c9264edeea521a86dDeleted: sha256:501ad78535f015d88872e13fa87a828425117e3d28075d0c117932b05bf189b7Deleted: sha256:96167737e29ca8e9d74982ef2a0dda76ed7b430da55e321c071f0dbff8c2899bDeleted: sha256:32770d1dcf835f192cafd6b9263b7b597a1778a403a109e2cc2ee866f74adf23Deleted: sha256:127227698ad74a5846ff5153475e03439d96d4b1c7f2a449c7a826ef74a2d2faDeleted: sha256:1333ecc582459bac54e1437335c0816bc17634e131ea0cc48daa27d32c75eab3Deleted: sha256:4fc455b921edf9c4aea207c51ab39b10b06540c8b4825ba57b3feed1668fa7c7
$ docker image rm centosUntagged: centos:latestUntagged: centos@sha256:b2f9d1c0ff5f87a4743104d099a3d561002ac500db1b9bfa02a783a46e0d366cDeleted: sha256:0584b3d2cf6d235ee310cf14b54667d889887b838d3f3d3033acd70fc3c48b8aDeleted: sha256:97ca462ad9eeae25941546209454496e1d66749d53dfa2ee32bf1faabd239d38
$ docker image ls --digestsREPOSITORY TAG DIGEST IMAGE ID CREATED SIZEnode slim sha256:b4f0e0bdeb578043c1ea6862f0d40cc4afe32a4a582f3be235a3b164422be228 6e0c4c8e3913 3 weeks ago 214 MB$ docker image rm node@sha256:b4f0e0bdeb578043c1ea6862f0d40cc4afe32a4a582f3be235a3b164422be228Untagged: node@sha256:b4f0e0bdeb578043c1ea6862f0d40cc4afe32a4a582f3be235a3b164422be228
docker image rm $(docker image ls -q redis)
docker image rm $(docker image ls -q -f before=mongo:3.2)
文章评论