2017-05-17 58 views
0

我是tensorflow和docker的新手,我試圖製作一個碼頭容器,我可以在GPU中使用tensorflow。打開現有的nvidia-docker容器

想我設法建立我的NVIDIA驅動程序不同的事情,我可以運行後:

nvidia-docker run -it gcr.io/tensorflow/tensorflow bash 

這將打開我一個tensorflow圖像泊塢窗容器。

這很好,因爲它創建了我可以安裝keras並使用它的tensorflow docker容器,但是如果我退出此容器,則會丟失所有已創建的文件和已安裝的軟件包。

一旦我退出這個容器回到它並讓我所有的文件和包仍然在那裏,這怎麼可能?

下面是我的泊塢窗圖像(這是太多,因爲我的很多嘗試去解決這個問題,因爲一些tensorflow圖片現在都沒有正確安裝)截圖:

希望有一個簡單的方法來做到這一點?

+0

另一端這可能是值得的,無論是)創建自己的碼頭工人形象 運行容器在'gcr.io/tensorflow/tensorflow'之上使用自定義'Dockerfile',或者b)使用'docker commit'將你的容器的當前狀態「保存」到新圖像中。這樣,每次啓動一個新容器時,您不必安裝'keras'和其他庫。這聽起來像是你需要的東西嗎? –

+0

他們都是有趣的方法,謝謝你的回答! – mihaela7089

回答

0

nvidia-docker run -it創建容器

要打開容器,存在使用

nvidia-docker start -i CONTAINER_ID
nvidia-docker start -i NAMES

,如果你想要更多的終端
nvidia-docker exec -it CONTAINER_ID bash
nvidia-docker exec -it NAMES bash

更新
當容器接近

$ docker ps -a                         [ruby-2.3.1p112] 
CONTAINER ID  IMAGE    COMMAND    CREATED    STATUS     PORTS    NAMES 
acd83fb407b4  rfcn:rfcn   "/bin/bash"   4 days ago   Exited (0) 28 hours ago      rfcn 
$ nvidia-docker start -i rfcn                     [ruby-2.3.1p112] 
[email protected]:/# 

打開時,容器運行

$ nvidia-docker exec -it rfcn bash                    [ruby-2.3.1p112] 
[email protected]:/# 
+0

我試了一下,如果我在終端打開容器在另一個終端中打開容器,它會起作用,但如果我關閉它,則無法再打開它。我收到來自守護進程的錯誤響應:容器Container_Id未運行,Container_Id從泊塢窗容器列表中消失。 – mihaela7089

+0

對不起,我的錯,應該是'開始'。更新答案,請檢查 – xxi

+0

我運行docker exec -it Container_Id,它的工作方式就像這樣,但在一個較舊的容器上。即使我用戶啓動,而不是exec – mihaela7089