复制到 docker 容器的文件的生命周期

Lifecycle of Files copied to a docker container

我是 Docker 新手,我执行了以下命令,成功地将文件复制到 运行 容器中。

sudo docker cp app.py 943395e93d1d:/app/app.py

注意:该容器已经包含一个 app.py,所以我的猜测是因为 app.py 在容器内 运行 它不允许复制。

我现在做了另一件事

sudo docker cp sample.txt 943395e93d1d:/app/sample.txt

现在这也成功了。

我的问题:sample.txt 文件是否会在我停止容器后继续存在于容器中?这样,如果我再次启动它,更新的文件就在那里。

因为这意味着我不会一次又一次地构建 docker 文件,而是在我的应用程序的某些资产发生变化时复制文件?

您使用 docker cp 复制的任何内容都将在容器退出后立即丢失。我会谨慎使用这个命令。这当然不是更新代码的方法;重新运行 docker build 当你的应用程序改变时。

(在典型的使用中,使用解释性语言,只需复制源代码就足够了,重新运行宁docker build应该非常快。它通常会知道跳过时间-在新的源代码中消耗依赖安装和 COPY。即使你只有一个容器使用 Docker Compose 来驱动东西也会给你一个地方列出你需要的选项 运行它。)