我正在尝试更改应用程序安装所需的一些配置文件,但不想更改源代码中的原始配置文件。
原始配置文件的路径为cp <path of new config on host>/local_db_setup.rb /usr/src/app/env_configs/
我尝试实现此目标的方法是在我的Dockerfile中
docker-compose.yml
但是,我认为由于我的卷安装在volumes:
-.:/usr/src/app
中,因此未进行复制或覆盖。
{{1}}
我该怎么办?
答案 0 :(得分:0)
If you bind-mount into a non-empty directory on the container, the directory’s existing contents are obscured by the bind mount.因此,容器内/usr/src/app
处的所有现有内容都会被遮盖。
如果您要按照问题中的说明在映像构建期间复制新的配置文件,可以将其复制到映像中的其他目录(/tmp/config/
)并将其移动到正确的位置({{1 }})使用入口点脚本,该脚本首先移动,然后启动实际的入口点。
相反,如果可以的话,您也可以直接从主机挂载配置文件。