Docker在重启时删除更改
我正在使用下面的命令来启动docker容器
# docker run --restart=always -d -p 80:80 image_name
这意味着docker守护进程将在进程退出时重新启动进程,但似乎在进程重新启动后容器中所做的更改将保留。 有什么办法让docker守护进程在进程重启时删除所有的改变吗? 我的意思是我希望docker守护进程从图像启动一个新的容器,而不是只重新启动进程。
Docker Engine API没有办法。
最好的办法是使用–restart = no(default)参数运行容器,并使用外部进程监视器。 例如,如果您有一个基于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。
- 为什么启动一个Docker容器的时间差异很大?
- Laravel在Mac OS X上的Docker上
- 从Ubuntu的绝对path的Docker COPY
- W:文件大小/var/lib/apt/lists/http.debian.net_debian_dists_jessie_main_binary-amd64_Packages.gz不是服务器报告的内容9101219 9117278
- 装入mysql容器的卷
- docker重启和docker重新启动之间的区别
- CMake在ubuntu 16.04 docker映像上自动生成了Makefile,并将“//”前置于目标
- 如何将本地主机添加到docker机
- OCR泊坞窗图像