Docker添加文件到VOLUME
我有一个Dockerfile
将一些文件复制到容器中,然后创build一个VOLUME。
... ADD src/ /var/www/html/ VOLUME /var/www/html/files ...
在src
文件夹中是一个文件夹,在这个文件夹中有一些文件需要在容器第一次启动时复制到VOLUME中。
我以为第一次创build容器时,它使用了卷中指定的原始目录的内容,但事实并非如此。
那么我怎样才能把文件放到这个文件夹中? 我是否需要创build一个额外的文件夹并复制一个脚本(我希望不^^)?
感谢一些tipps!
不pipe你在你的Dockerfile中只是在构build时 (而不是在你创build一个新的容器时)进行评估。
如果要从容器中的可用主机创build文件,请使用数据卷 :
docker run -v /host_dir:/container_dir ...
如果您只是想将文件从主机复制到容器中作为一次性操作,您可以使用:
docker cp /host_dir mycontainer:/container_dir
问题是你的ADD语句。 你也可能不知道如何访问卷。 比较你的努力与下面的演示:
FROM alpine #, or your favorite tiny image ADD src/files /var/www/html/files VOLUME /var/www/html/files
构build一个名为“dataimg”的图像:
docker build -t dataimg .
使用dataimg图像创build一个名为“datacon”的数据容器:
docker run --name datacon dataimg /bin/cat
将datacon中的卷挂载到您的nginx容器中:
docker run --volumes-from datacon nginx ls -la /var/www/html/files
你会看到/ var / www / html /文件的列表反映了src / files的内容