2015-10-15 84 views
3

我是一名Docker新手,我正在設置我的第一個項目。 爲了測試如何使用它,我只克隆了一個隨時可以使用的項目,並設置它(Project repo)。 正如指南聲稱,如果我訪問特定的網址,我到達主頁。更具體一個symfony的開始頁面。而且用這個命令爲什麼我在碼頭集裝箱內看不到我的文件?

docker run -i -t testdocker_application /bin/bash 

我能夠登錄到容器中。

我的問題是,如果我嘗試通過bash去應用程序文件夾,我與我的主機共享的文件夾是空的。

我試過用另一個工程,但結果是一樣的。

我在哪裏錯了?

這裏我的ENV一些相關信息:

  • 的Ubuntu 12.04
  • 泊塢版本1.8.3,建立f4bf5c7

配置:

application: 
    build: code 
    volumes: 
     - ./symfony:/var/www/symfony 
     - ./logs/symfony:/var/www/symfony/app/logs 
    tty: true 
+0

您的docker用戶是否可以訪問主機上的'/ symfony'和'/ logs/symfony'?通常這是一個權限問題。 – sjagr

+0

我該如何檢查這個東西?我的文件夾在主機中擁有755個權限,並且所有者與啓動docker-compose的用戶相同(它也屬於docker group,如[此處]所述)(https://docs.docker.com/installation/ubuntulinux/#create-一個-搬運工基團))。 – stuzzo

回答

3

看起來你有一個docker-compose.yml文件,但用docker運行圖像。你實際上並不需要docker-compose來啓動一個容器。如果你只是想啓動容器的命令應該是這樣的:

docker run -ti -v $(pwd)/symfony:/var/www/symfony -v $(pwd)/logs/symfony:/var/www/symfony/app/logs testdocker_application /bin/bash 

要與docker-compose up使用docker-compose.yml開始你的容器。您還需要添加以下內容以放入shell。

stdin_open: true 
command: /bin/bash 
+0

是的,我正在使用從項目繼承的'docker-composer.yml',並使用'docker-compose up -d'運行容器。我嘗試了第一條命令,現在我可以看到文件夾內容,並在應用程序配置中添加了兩行。所以,如果我想在bash中看到我的共享文件夾,我應該總是使用這種語法嗎?如果我共享了50個文件夾,我應該列出他們所有的命令嗎?感謝您的幫助 – stuzzo

+0

是的,請查看https://docs.docker.com/userguide/dockervolumes/ –

相關問題