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中的腳本或您系統的等效腳本。 –