docker - 将卷安装到包含同名文件的位置会覆盖这些文件还是会被使用?
问题描述
我正在寻求帮助。如果我docker run
用来运行容器并且我曾经-v
挂载到已包含文件的卷(这些文件是容器先前运行的文件,但已编辑配置文件)。我运行的容器会使用我已覆盖的文件的内容,还是会使用容器中的文件而忽略我编辑的文件?我在跑步
sudo docker run --rm -it -p "8000:8000" -v "/opt/stellar:/opt/stellar" --name stellar stellar/quickstart --testnet
在/opt/stellar
我的机器(AWS EC2)上,我的文件已经包含一个编辑过的 stellar-core.cfg 文件。
对不起,如果这有点令人困惑。我正在尽力解释我的意思。谢谢你的帮助。
解决方案
如果你运行:
docker run -v /host/directory:/container/directory ...
那么主机目录中的任何内容都将始终隐藏该路径上图像中的任何内容,如果容器中的应用程序对 进行更改/container/directory
,它们将反映在相应的主机目录中。
如果您更新映像以在容器目录中进行更改,并且运行相同的docker run
命令,主机目录仍将隐藏映像的内容,并且您不会在重新运行的容器中看到这些更改。
推荐阅读
- c++ - 打印类标识符(如果可用)
- python - 如何使用python模型模型来提取特征?
- android - 有没有办法在动态创建的每个文本视图中放置可绘制对象?
- maven-3 - 尝试查找依赖项目时 Maven 安装失败
- reactjs - 从后端存储、检索和显示视频到 Reactjs 项目
- java - Button.isSelected() 不返回 true
- javascript - 在 React 和 Express js 中使用 Stripe Checkout
- docker - 从 Windows 容器通过 VPN 连接到资源
- php - 如何将一个字符串的结果合并或合并到另一个字符串中(包括内爆)
- c++ - 数百行来自else if语句的垃圾代码