使用docker run创建容器时,有没有办法将文件从docker卷自动复制到挂载的主机目录?
运行时
docker run -d -v /localpath:containerpath image
在containerpath中找到的文件不会复制到我的localpath目录。
有没有办法实现这个目标?该映像包含一个目录,需要在主机上进行本地开发。
答案 0 :(得分:1)
我不知道的是,当从容器的shell向卷添加文件时,它也会在主机目录中创建。经过大量的调试和测试后,我已经成功实现了我想要的东西
为了澄清将来是否有人需要这样做:自动生成一个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
感谢您的帮助