1
使用docker run创建容器时,是否有方法将文件从泊坞窗卷自动复制到它所装载的主机目录?Docker将容器卷文件复制到第一次运行的主机
当运行
docker run -d -v /localpath:containerpath image
在containerpath找到的文件不会被复制到我的localPath目录。
有没有办法做到这一点?该映像包含需要在主机上进行本地开发的目录。
使用docker run创建容器时,是否有方法将文件从泊坞窗卷自动复制到它所装载的主机目录?Docker将容器卷文件复制到第一次运行的主机
当运行
docker run -d -v /localpath:containerpath image
在containerpath找到的文件不会被复制到我的localPath目录。
有没有办法做到这一点?该映像包含需要在主机上进行本地开发的目录。
我不知道的是,当从容器的外壳向卷添加文件时,它也在主机目录中创建。所以经过很多调试和测试之后,我已经设法达到我想要的效果
如果有人在将来需要这样做,可以进行澄清:自动生成一个Docker容器,该容器克隆git repo并将主机public_html目录公开给随着文件体积已经复制到主机以供编辑
# Create Volume for the directory
VOLUME /var/www/html
COPY scripts/start.sh /start.sh
RUN chmod -v +x /start.sh
CMD ["/start.sh"]
start.sh包含代码克隆回购协议,如果该目录为空
#!/bin/bash
if [ "$(ls -A /var/www/html)" ]; then
echo "Directory already cloned"
else
echo "Repo files do not exist" ;
git clone ...
fi
感谢您的帮助
选项-v允许声明本地主机和容器之间的共享卷,每个文件通过本地hsot或通过容器创建的镜头对另一个可见。 –
可能相关:http://stackoverflow.com/questions/36107442/mount-docker-host-volume-but-overwrite-with-containers-contents – nwinkler
简单:添加一个脚本,以任何你想要的方式进行复制工作。附加一行以调用.bash_profile中的脚本或您系统的等效脚本。 –