2017-07-11 35 views
0

我正在嘗試使用從泊塢窗數據庫中提取的圖像。不過,我需要來自主機的數據來使用一些加載到圖像中的程序。我創建了一個容器,這個創建裝載卷後未運行Docker容器

sudo docker run --name="mdrap" -v "/home/ubuntu/profile/reads/SE:/usr/local/src/volume" sigenae/drap 

,似乎一切正常,然後我開始容器

sudo docker start mdrap 

,但是當我檢查正在運行的容器它沒有被列入其中,如果我嘗試加載容器放入/ bin/bash,告訴我容器沒有運行。我是一個有docker的初學者,只想用一個圖像來運行具有所有必需依賴項的程序,我做錯了什麼?

回答

0

docker start只是啓動一個停止的容器。在docker run之後沒有必要。 (但更多的是docker **create**,如the documentation

只要主進程正在運行,容器就會啓動。
只要主進程停止,容器就會停止。

的容器的主要過程可以是:

  • ENTRYPOINT如果定義
  • CMD如果沒有ENTRYPOINT和沒有命令行參數
  • 命令行參數

在你的情況下,因爲你沒有任何命令行參數(在docker run命令上的圖像名稱後面) ly定義了CMD(= /bin/bash),您的容器正試圖啓動/bin/bash
,因爲你不與--interactive/-i也不--tty/-t(再次像the documentation)推出的容器,你如無物的過程進行交互,並停止(同上對此容器每次啓動)。

所以你的解決方法就是遵循the documentation

docker create --name drap --privileged -v /home/ubuntu/profile/reads/SE:/usr/local/src/volume -i -t sigenae/drap /bin/bash 
docker start drap 
docker exec -i -t drap /bin/bash 

或者更簡單:

docker run --name drap --privileged -v /home/ubuntu/profile/reads/SE:/usr/local/src/volume -i -t sigenae/drap /bin/bash 
+0

謝謝你,我是一個超級初學者只是想使用一個程序,但是這個工作完全 – bohawk