我正在嘗試將一組文件從docker主機複製到容器。 在直接進入/ var/lib/docker/aufs/...的AUFS系統上工作。 但是我是Fedora的另一個系統,它使用devicemapper作爲存儲驅動程序。 在這個系統上,如果我這樣做:Docker將文件從主機複製到容器
[[email protected] tmp]# docker inspect -f '{{.Id}}' 393ef4b9f485
393ef4b9f485dafc78037f59bdbeda16d63b8338487248ed25b68cf544f29e24
[[email protected] tmp]# cd /var/lib/docker/devicemapper/mnt/393ef4b9f485dafc78037f59bdbeda16d63b8338487248ed25b68cf544f29e24
[[email protected] 393ef4b9f485dafc78037f59bdbeda16d63b8338487248ed25b68cf544f29e24]# ls -l
total 0
[[email protected] 393ef4b9f485dafc78037f59bdbeda16d63b8338487248ed25b68cf544f29e24]#
我什麼也沒得到。 我試過從Copying files from host to Docker container的所有建議
使用焦油似乎是偉大的,而不是直接去底層的FS。但我不能認爲焦油會出現在所有容器中。
如果是相關的,我甚至試圖創建容器中的文件,但它,然後做了一個發現。 -name在/ var/lib/docker/devicemapper/mnt中無效。
任何提示?
EDIT 1:基於其中一個答案 ,加入這些約束。 目的是將文件複製到沒有。不修改容器構建(Dockerfile),b。不要安裝任何ssh或ftp守護進程。和c。甚至不改變容器的啓動方式。
EDIT 2:將泊塢窗信息 :
# docker info
Containers: 1
Images: 21
Storage Driver: devicemapper
Pool Name: docker-253:0-397467-pool
Pool Blocksize: 65.54 kB
Backing Filesystem: extfs
Data file:
Metadata file:
Data Space Used: 4.261 GB
Data Space Total: 107.4 GB
Data Space Available: 103.1 GB
Metadata Space Used: 3.596 MB
Metadata Space Total: 2.147 GB
Metadata Space Available: 2.144 GB
Udev Sync Supported: true
Library Version: 1.02.90 (2014-09-01)
Execution Driver: native-0.2
Kernel Version: 3.17.4-301.fc21.x86_64
Operating System: Fedora 21 (Twenty One)
CPUs: 4
Total Memory: 3.86 GiB
Name: fedora-docker
泊塢版本是1.6.0和集裝箱圖像是基於RHEL。
爲什麼你需要這樣做?沒有官方支持的解決方案,所以任何答案總是會成爲黑客 - 但如果你告訴我們爲什麼你需要這個解決方案,或許我們可以想出一些東西。 –
一致認爲,沒有官方的支持,實際上Docker 1.7應該得到這個改變,https://github.com/docker/docker/pull/10198,但是對於我的用例,我需要在內部做一些檢查已經在運行容器,爲此我需要推入一些腳本和文件並獲取它們的輸出。沒有「干擾」/重建容器。 –
如果你可以假設腳本會運行,我想你可以假設至少有貓存在,並且可能是焦油。如果您無法將此腳本添加到圖像中,則可以在運行時將其作爲卷裝入。 –