作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我知道,当我们停止docker时,我们的更改会丢失。有很多答案可以防止这种情况发生-每次提交。想法是在docker运行时会根据镜像旋转一个新容器。另一方面,除非您开始使用 --rm ,否则容器在存在之后会继续一些数据。
只是为了简化:
最佳答案
这里的基本规则:
docker run -v
选项或Docker Compose volumes:
选项创建容器时将卷附加到容器,则写入该目录的所有数据将在容器中失效。 (如果是命名卷,则一直持续到您用docker volume rm
对其进行编码。)docker rm
,容器文件系统中的所有其他内容都会丢失。 Dockerfile
来描述如何构建镜像和运行
docker build
。将
Dockerfile
检查到应用程序旁边的源代码控制中。
docker build
编码时,您将从基本图像开始并将应用程序安装到该图像中。您永远不会尝试升级已安装的应用程序。同样,当您对容器进行
docker run
编码时,您将从其图像的新副本开始。
docker rm
编码,则对新容器进行
docker run
编码时,它将具有基本镜像以及已装入卷中的内容。 Docker将永远不会自动保留任何超出此范围的内容。
docker commit
:这会导致无法在以后(在六个月内发现严重的安全问题并有可能使您的网站瘫痪)重新创建魔术图像。同样,绝对不要在运行中的容器中安装软件,因为一旦退出容器,该软件就会丢失。将其添加到您的
Dockerfile
并重建。
关于docker - docker 如何检测应保存哪些更改,不保存哪些更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57062500/
我是一名优秀的程序员,十分优秀!