我是docker容器的新手。我遇到了一个关于如何捕获代码更改的问题。我的本地style.css文件中的某些行已更改。然后我再次构建了docker镜像,但实际上在浏览我的应用程序时没有任何改变。
以下是我在网上找到并试过的一些方法,但没有用。
(我还使用git pull在我的云实例上获取代码,这些文件被检查为最新的。)
我对码头机制知之甚少,谁能告诉我问题是什么?
我发现额外信息:
停止容器并删除图像后,我重启我的实例,然后构建图像,再次运行容器。只有这样,我才能抓住这些变化。有谁知道这个问题?
非常感谢!
答案 0 :(得分:0)
容器和图像之间的区别似乎有所脱节。容器是应用程序的运行实例。它基于您已经构建的图像。该图像具有易于引用的标记,但对图像的真实引用是sha256哈希,构建新图像将更改标记指向的哈希,而不会影响任何正在运行的容器。
因此,在docker中更新正在运行的应用程序的工作流程是:
如果您使用的是docker-compose,它会使用docker-compose up
命令自动执行中间两步,甚至删除旧容器。大多数用户保留一些较旧的图像副本,以便轻松回滚。