接上一篇,在 VirtualBox
上安装配置好了 CentOS7
,继续在这个虚拟机上装好 docker
并总结一下使用到的常用功能。
安装Docker
安装直接参考官网来安装就OK,没有遇到什么问题,值得注意的就是 docker
需要内核版本在 3.10
以上,如果之前安装过,记得先 remove
掉之前的旧版本。
官网安装指南:centos安装docker,基本上就是:
安装库
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
安装docker
yum install docker-ce docker-ce-cli containerd.io
运行docker
systemctl start docker
按照指南成功安装运行,查看状态 service docker status -l
。
Docker服务端自启动
适用于使用 yum
安装的各种服务。
查看已启动的服务:
systemctl list-units --type=service
查看已有的开机启动服务:
systemctl list-unit-files | grep enable
设置/关闭开机启动:
systemctl enable/disable docker.service
Docker容器设置自启动
在启动的时候加上 --restart=always
即可。
docker run -p 8092:80 --name apicloud -v /home/lifehaier:/var/www/html -d --restart=on-failure:3 hub.docker.terminus.io:5000/aabb:20180315
解析:使用 docker run
命令运行一个容器,该容器内部监听 80
端口,与宿主机系统 8092
端口映射,命名该容器名称为 apicloud
,宿主机系统目录 /home/lifehaier
与容器内部 /var/www/html
路径映射,如果容器对应的 images
路径 /var/www/html
下面有数据的话,则被宿主机 /home/lifehaier
路径下面的数据覆盖, -d
参数是让容器后台运行, --restart=on-failure:3
是指容器在未来出现异常退出(退出码非0)的情况下循环重启3次; hub.docker.terminus.io:5000/aabb:20180315
是 images
名称,容器基于此 images
进行启动。
重启 --restart
参数选项:
no 不自动重启容器. (默认value)
on-failure 容器发生非正常退出(容器退出状态不为0)时重启容器
on-failure:3 容器发生非正常退出(容器退出状态不为0)时重启容器,最多重启3次
unless-stopped 在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器
always 在容器退出时总是重启容器