【问题标题】:Is there a way to mount all the files from directory to container directory without deleting its content?有没有办法将所有文件从目录挂载到容器目录而不删除其内容?
【发布时间】:2022-01-19 16:11:43
【问题描述】:
更具体地说,我喜欢将配置文件挂载到 Tomcat 9 中的 conf 目录。
这背后的想法是让文件在运行时更改并节省容器的停机时间。
想法是用这个目录生成容器:
/MyTomcat/conf
docker-compose 文件将如下所示:
version: '3'
services:
MyApplication:
image: enviroment:MyApplication
volumes:
- ./path/to/host/dir:/MyTomcat/conf
不删除现有文件
【问题讨论】:
标签:
docker
docker-compose
docker-volume
【解决方案1】:
我不确定我是否 100% 了解用例,但您不能将 /MyTomcat/conf 的当前状态以及您要添加的任何其他文件复制到 ./path/to/host/dir 中?然后,您无需担心它会在内部替换文件,并且主机操作系统或容器中的任何更改都会反映在其他位置。
另外,如果您希望此容器在系统之间可移植,那么建议您尽可能使用卷 (https://docs.docker.com/storage/volumes/) 而不是绑定挂载。然后,您可以在 Dockerfile 构建期间将默认文件复制到那里。否则,您可能会在系统之间移动时遇到权限/目录结构问题。