Docker开机自启及容器自启

2019-12-28  本文已影响0人  HanlyJiang

主要内容: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方式启动的

参考:https://docs.docker.com/compose/compose-file/#restart

默认为不自动重启,如需重启需要配置

通过配置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

默认行为如下:

上一篇 下一篇

猜你喜欢

热点阅读