重新启动

时间:2016-11-11 14:59:59

标签: docker

我正在使用以下命令启动docker container

# docker run --restart=always -d -p 80:80 image_name

这意味着如果Docker守护程序退出,它将重新启动该进程,但似乎在重新启动进程后,容器中所做的更改将保留。有没有办法让docker守护进程在进程重启时删除所有更改?我的意思是我希望docker守护进程从映像启动一个新的容器,而不是只重新启动进程。

1 个答案:

答案 0 :(得分:1)

Docker Engine API无法使用。

最好的想法是使用--restart = no(默认)参数运行容器并使用外部进程监视器。例如,如果您有基于RHEL的操作系统,则可以使用systemd单元文件。然后,您可以将容器控制为服务。

我通常这样做:

[Unit]
Description=My Service
Requires=docker.service

[Service]
ExecStartPre=/usr/bin/docker create -d --name=container_name image_name
ExecStart=/usr/bin/docker start container_name
ExecStop=/usr/bin/docker stop container_name
ExecStopPost=/usr/bin/docker rm container_name  

[Install]
WantedBy=multi-user.target

您还可以使用具有自动重新播放选项的docker-compose。