[英]How to actually bind mount a file in Docker for Windows
我正在嘗試按照此處的文檔更新sebp/elk Logstash 配置。 我遇到的情況是,我嘗試掛載的主機文件被掛載為容器中的目錄。
我發現了這個相關的問題How to mount a single file in a volume但在 Windows 上使用 PWD 運行的概念對我不起作用,因為我收到以下錯誤: C:\\Program Files\\Docker\\Docker\\Resources\\bin\\docker.exe: invalid reference format
我在 Windows 10 上運行 Docker(內部版本 16299.192)
λ docker version
Client:
Version: 17.09.1-ce
API version: 1.32
Go version: go1.8.3
Git commit: 19e2cf6
Built: Thu Dec 7 22:22:26 2017
OS/Arch: windows/amd64
Server:
Version: 17.09.1-ce
API version: 1.32 (minimum version 1.12)
Go version: go1.8.3
Git commit: 19e2cf6
Built: Thu Dec 7 22:28:28 2017
OS/Arch: linux/amd64
Experimental: true
我的 Docker 運行命令是:
docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 -it -vd:/docker/elk/logstash-snmp.conf:/etc/logstash/conf.d/logstash-snmp.conf --rm --name elk sebp/elk
我已經能夠從這個磁盤(SQL Server、Redis、Exist-DB)運行其他帶有持久存儲的容器,但我不確定我是否遺漏了一些東西。 我如何告訴 Docker 將它實際掛載為文件而不是目錄。
這對我有用:
注意:此方法使用 Docker Toolbox 和 VirtualBox 解決 W10 Home Edition。
概述:在本地機器上創建一個文件夾,將其掛載為 Docker VM 中的共享文件夾,將此共享文件夾用作 Docker 容器的綁定。
docker-machine stop default
停止 docker VMdefault
Settings > Shared Folder
c/Users
已綁定到您的c:\\Users
Settings
docker-machine start default
docker-machine ssh default
sudo vi /mnt/sda1/var/lib/boot2docker/profile
附加以下內容:
# create a directory in VM mkdir /home/docker/[foldername] # mount/map shared folder on localmachine to directory sudo moun -t vboxsf -o uid=1000,gid=50 [local-shared] /home/docker/[foldername]
保存並退出 ssh。
docker-machine stop default
docker-machine start default
(或者docker-machine restart default
)docker container run -d -p 1234:6789 -v /[local-shared]/sub-dir:/[container-dir] dockerImage2Run
它應該工作。
參考: http : //support.divio.com/local-development/docker/how-to-use-a-directory-outside-cusers-with-docker-toolbox-on-windowsdocker-for-windows
如果您在 Windows 上,則映射路徑會出現問題。 我在 Windows 上使用 Git bash 終端,對我有用的命令就是這種格式。
docker run -d -p 5000:5000 -v "/${PWD}/etc/runtime_config.yml":/demand_forecast/etc/runtime_config.yml ....
docker run -d -p 5000:5000 -v "/${PWD}/etc/":/demand_forecast/etc/ ....
注意主機路徑開頭的/,這很重要,否則你會遇到錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.