在Macbook Pro筆記本電腦上運行並運行docker-machine(0.5.0)和docker-compose(1.5.0)讓我的容器運行。Mac上的Docker Machine:在Docker主機/ docker-machine上無法看到已安裝的卷?卷的物理存儲位置在哪裏?
這意味着我使用docker-machine來創建我的virtualbox boot2docker驅動的HOST機器,它將運行我的docker守護進程並託管所有容器。
我想我錯過了關於HOSTS和VOLUME的概念,因爲它們涉及到Docker和文檔。
這是我的搬運工,compose.yml文件(網頁簡單地構建PHP:5.6 - 阿帕奇圖像):
web:
restart: "always"
build: ./docker-containers/web
ports:
- "8080:80"
volumes:
- ./src:/var/www/html
links:
- mysql:mysql
mysql:
restart: "always"
image: mysql:5.7
volumes_from:
- data
ports:
- "3306:3306"
environment:
- MYSQL_ROOT_PASSWORD=XXX
data:
restart: "no"
image: mysql:5.7
volumes:
- /var/lib/mysql
command: "true"
的卷
泊塢撰寫文件機制的文檔是在這裏:http://docs.docker.com/compose/compose-file/
它指出了卷 - 將路徑裝載爲卷,可選地指定主機上的路徑(HOST:CONTAINER)或訪問模式(HOST:CONTAINER:ro)。
在這種情況下的HOST是指我的VM由docker-machine創建,對嗎?或者我的本地macbook文件系統?將虛擬機上的路徑安裝到容器上?
在網絡我宣佈:
volumes:
- ./src:/var/www/html
,這是我的映射本地的MacBook文件系統./src文件夾,我的MacBook Pro到我的Web容器。如果我的理解是正確的,不應該映射我的VM到/var/www/html內的web容器內的./src文件夾?!從理論上講,我認爲我應該首先將我的本地mac文件系統文件夾./src複製到我的虛擬機,然後執行此卷聲明。看起來碼頭撰寫者是神奇地一次完成這一切,但? 困惑
最後,我們可以看到,我正在創建一個數據專用容器來保存我的mysql數據。我已經聲明:
volumes:
- /var/lib/mysql
不應該這樣對我的HOST boot2docker VM創建在/ var/lib中/ MySQL的文件夾,然後我可以導航到該文件夾的VM,是/否?當我使用docker-machine ssh進入我的機器,然後導航到/var/lib,有沒有 mysql文件夾?爲什麼它沒有被創建?我的配置有問題嗎? :/
在此先感謝!任何解釋我在這裏做錯了將不勝感激!
是否http://stackoverflow.com/questions/23439126/how-to-mount-host-directory-in-docker-container/33404132#33404132回答你的問題? – Eli