此问题在此处已有答案:
Docker mount to folder overriding content(1个答案)
29天前关闭
以下是我的docker文件
FROM node:16-alpine
WORKDIR /app
COPY a.txt /app
字符串
我有卷名my-volume,其中有一个名为dist的文件夹。我试图将my-volume挂载到容器中的/app。我使用下面的命令。
docker run -v my-volume:/app -itd -e SERVICE_ENV='test01' 8ef983161140
型
卷正在正确挂载,但问题是容器中的a.txt文件正在被卷中的dist文件夹替换。我想合并/app中卷和容器的内容。
你知道吗?
docker run -v my-volume:/app -itd -e SERVICE_ENV='test01' 8ef983161140
型
期待
/app # ls -al
total 0
drwxr-xr-x 3 root root 18 Oct 18 15:33 .
drwxr-xr-x 1 root root 18 Oct 18 16:22 ..
drwxr-xr-x 1 root root 18 Oct 18 16:22 a.txt
drwxrwxr-x 3 node node 18 Oct 18 14:11 dist
型
2条答案
按热度按时间mwyxok5s1#
如果您不能将
a.txt
放在my-volume
中,您可以将a.txt
放在映像中的/app_tmp
中,并在启动时运行脚本(例如,使用ENTRYPOINT
),将文件从/app_tmp
复制到/app
(即挂载的my-volume
)。vmdwslir2#
我不相信你可以将容器镜像中的内容与docker中的卷混合在同一个文件夹中。我相信docker会用卷替换指定文件夹中的所有内容。
您可以将卷附加到应用中的dist文件夹,以便dockerfile仍然保留该. txt文件,并且您可以将dist文件保存在卷中。
字符串