Docker开机自启及容器自启
原文地址:https://www.jianshu.com/p/f6e8fb577f3f
主要内容:Docker开启自启,run命令启动的容器自启,docker-compose启动的服务自动启动,swarm启动的服务自动启动;
Docker本身自动启动
centos7.6 配置可执行以下命令:
sudo systemctl enable docker
普通模式自启(通过run命令启动的)
参考:https://docs.docker.com/engine/reference/commandline/run/#restart-policies---restart
默认为不自动重启,如需重启需要在run时添加--restart参数,如:
docker run --restart=always redis
也可以在启动后通过update命令更新配置:
docker update --restart=always redis
Docker-Compose方式启动的
默认为不自动重启,如需重启需要配置
通过配置restart=always段来控制,如以下 docker-compose.yml文件示例:
version: '3'
services:
mongo:
container_name: mongo
restart: always
image: mongo
volumes:
- ./data:/data/db
ports:
- "27017:27017"
networks:
- appnet
networks:
appnet:
drive
如原先已启动,更新docker-compose.yml配置后,使修改生效,可执行:
docker-compose restart
Swarm(docker stack)方式启动的
参考:https://docs.docker.com/compose/compose-file/#restart_policy
默认无需配置,会自动尝试重启服务,可以通过restart_policy配置段的参数来控制行为,如:
version: "3.7"
services:
redis:
image: redis:alpine
deploy:
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
window: 120s
默认行为如下:
condition: any ( 重启条件:所有可选值 none, on-failure or any )
delay: 0 (重启尝试前的等待时间)
max_attempts: 永不放弃 (重启尝试次数)
window: 立刻(重启执行多久后,判断启动是否成功 default: 立刻).
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。