回答
這很簡單。您必須將一個目錄共享到兩個不同的容器,然後才能訪問該目錄中的相同數據。
docker run -v myfolder:/data/myfolder image-name-1
docker run -v myfolder:/data/myfolder image-name-2
劉若英的回答工作,但你可以不使用主機的目錄(container1 ==> container2的)共享數據:
docker run -v /data/myfolder --name container1 image-name-1
docker run --volumes-from container1 image-name-2
嗨@曼努埃爾,感謝您的回答。您能否詳細說明我將如何訪問container2內的這些文件? –
只是一個更新曼努埃爾。我試了一下,這很好用!但問題是它安裝在與源容器相同的位置。我可以在其他地方安裝它嗎? –
嗨,這不支持,有[與此相關的建議](https://github.com/docker/docker/issues/11261),但此時不可能更改安裝點的位置。 –
https://docs.oracle.com/cd/E52668_01/E54669/html/section_ffp_yt4_gp.html
給出了一個例子。在此基礎上我創建
https://github.com/BITPlan/docker-stackoverflowanswers/tree/master/33232991
Dockerfile.data
# Dockerfile that modifies ubuntu to create a data volume container
FROM ubuntu:14.04
RUN mkdir -p /var/www/html
RUN echo "This is the content for file1.html" > /var/www/html/file1.html
RUN echo "This is the content for file2.html" > /var/www/html/file2.html
RUN echo "This is the content for index.html" > /var/www/html/index.html
VOLUME /var/www/html
ENTRYPOINT /usr/bin/tail -f /dev/null
用於數據圖像和
Dockerfile
# Ubuntu image
FROM ubuntu:14.04
爲圖像測試其他數據量的使用量。
docker build -t bitplan/dataonly:0.0.1 -f Dockerfile.data .
docker build -t bitplan/dataexample:0.0.1 .
建立這些圖像
,他們都展現在我的圖片列表現在:
docker images | grep data
[email protected]:~/source/docker/stackoverflow2> docker images | grep data
bitplan/dataonly 0.0.1 aa6aeb923f55 9 minutes ago 188.4 MB
bitplan/dataexample 0.0.1 a005e6b7dd01 7 days ago 188.4 MB
運行和測試與
docker run -d --name html bitplan/dataonly:0.0.1
docker run --volumes-from html bitplan/dataexample:0.0.1 ls /var/www/html
做到這表明:
0ebb78f209169fb7d281bb6b06851b33af7a98488c3a38cf25ac92fe983fff43
file1.html
file2.html
index.html
- 1. 從一個Docker容器記錄到另一個
- 2. 無法將Windows主機目錄掛載到Docker容器
- 3. 將本地目錄掛載到Docker容器
- 4. 將內容從一個容器複製到Berkeley的另一個容器XMLDb
- 5. 無法從一個容器捲曲到另一個容器
- 6. net_adm:從一個容器ping到另一個容器
- 7. Docker - 從一個容器向另一個容器發送http請求
- 8. 將一個目錄的內容複製到另一個目錄
- 9. Docker撰寫刪除另一個容器
- 10. 從另一個Docker容器運行Docker容器內的shell腳本?
- 11. 在一個Docker容器中將nodejs應用連接到另一個Docker容器中的mongodb
- 12. 使用--link容器將一個腳本文件從一個碼頭容器調用到另一個容器
- 13. React/Redux - 將道具從一個容器傳遞到另一個容器
- 14. Loopback:如何將文件從一個容器複製到另一個容器?
- 15. raphael將物體從一個容器拖放到另一個容器
- 16. 將Azureblob從一個容器複製到另一個容器使用元數據
- 17. 如何將docker容器的根目錄掛載爲NFS掛載點
- 18. 將一個STL容器的內容複製到另一個容器
- 19. 如何從另一個容器獲取一個容器?
- 20. 如何將Docker容器從一臺機器遷移到另一臺機器?
- 21. 如何將現有容器綁定到另一個容器?
- 22. 從另一個容器連接到mysql容器
- 23. 當你將目錄掛載到容器中時,docker cp權限是錯誤的
- 24. 如何將一個容器中的數據反映到另一個容器中?
- 25. jQuery可從一個容器拖動元素到另一個容器
- 26. 碼頭工人。從一個容器連接到另一個容器與MySQL
- 27. 有一種方法可以使用來自另一個Docker容器的主機名ping一個Docker容器?
- 28. 如何將圓形從一個容器拖到另一個容器中的flex項目
- 29. VB.NET將本地目錄內容複製到另一個目錄
- 30. clojure:將一個目錄的內容複製到另一個目錄
感謝您的回答。 我有一個應用程序在一個容器內運行,它將在目錄中生成一些文件。您的解決方案是主機==> container1和主機==>容器。我想要的是container1 ==> container2 –
@GaneshSatpute你應該去這個答案,而不是直接共享兩個容器之間的數據。文件傳輸應通過共享卷(主機)或通過專用卷容器完成。本指南深入到碼頭卷中:http://container-solutions.com/understanding-volumes-docker/ – michaelbahr