2016-07-26 75 views
6

空我有一個docker-compose.yml這樣的:安裝量爲容器內

db: 
    image: mongo:latest 
    ports: 
    - "27017:27017" 
server: 
    image: artificial/docker-sails:stable-pm2 
    command: sails lift 
    volumes: 
    - server/:/server 
    ports: 
    - "1337:1337" 
    links: 
    - db 

server/相對於docker-compose.yml文件的文件夾。但是當我docker exec -it CONTAINERID /bin/bash和檢查/server它是空的。

我在做什麼錯?

回答

6

嘗試:

volumes: 
    - ./server:/server 

代替server/ - 也有一些情況下,碼頭工人不喜歡尾隨削減。

+0

這實際上是解決問題的方法,謝謝:) – Hedge

4

作爲每搬運工卷文件,

https://docs.docker.com/engine/tutorials/dockervolumes/#/mount-a-host-directory-as-a-data-volume

主機-DIR可以是一個絕對路徑或名稱的值。如果 爲主機目錄提供絕對路徑,則Docker將綁定到您指定的 路徑。如果你提供一個名稱,多克爾該名稱創建一個名爲卷 使用

+2

好的補充,當試圖通過使用像這樣的'docker run -v myDir:/ containerdir ...'容器的相對路徑來裝載目錄時,這可能會引起混淆,因爲它會默默地創建一個docker卷在答案中)命名myDir並綁定它,但它不會使myDir的內容在容器中可用。在這種情況下,使用絕對路徑工作,例如'docker run -volume $(pwd)/ myDir:/ containerdir ...' –