1.建立容器時沒有添加參數 --restart=always ,致使的後果是:當 Docker 重啓時,容器未能自動啓動。html
docker container update --restart=always 容器名字 操做實例以下: [root@localhost mnt]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 46cdfc60b7a6 nginx "nginx -g 'daemon ..." About a minute ago Up 42 seconds 80/tcp n3 79d55a734c26 nginx "nginx -g 'daemon ..." About a minute ago Up 42 seconds 80/tcp n2 f7b2206c019d nginx "nginx -g 'daemon ..." About a minute ago Up 46 seconds 80/tcp n1 [root@localhost mnt]# docker container update --restart=always n1 n1 [root@localhost mnt]# systemctl restart docker [root@localhost mnt]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 46cdfc60b7a6 nginx "nginx -g 'daemon ..." 2 minutes ago Exited (0) 5 seconds ago n3 79d55a734c26 nginx "nginx -g 'daemon ..." 2 minutes ago Exited (0) 5 seconds ago n2 f7b2206c019d nginx "nginx -g 'daemon ..." 2 minutes ago Up 2 seconds 80/tcp n1
2.docker-compose 關機或者重啓docker同時重啓容器restart always的配置mysql
衆所周知,存粹使用docker啓動的話須要加–restart=always便可實現這個功能,而使用docker-compose的話在相關服務配置下加 restart: always 就行nginx
version: '2' services: database: build: ./mysql/ command: mysqld --user=root --verbose restart: always environment: MYSQL_DATABASE: "web_level3_sqli" MYSQL_USER: "web_level3_sqli" MYSQL_PASSWORD: "thisisasecurepassword123" MYSQL_ROOT_PASSWORD: "root" MYSQL_ALLOW_EMPTY_PASSWORD: "yes" web: build: ./www/ restart: always ports: - "12000:80" volumes: - ./www/src:/var/www/html links: - database