2016-04-20 66 views
5

Docker和Tensorflow的新手都在嘗試。安裝(win10,使用Hyper-V驅動程序)都很好,我可以運行Docker上的Tensorflow:如何將工作保存在Jupyter筆記本上?

docker run -p 8888:8888 -it gcr.io/tensorflow/tensorflow 

,並得到輸出是這樣的:

[I 23:01:01.188 NotebookApp]←(B Serving notebooks from local directory: /notebooks 
[I 23:01:01.189 NotebookApp]←(B 0 active kernels 
[I 23:01:01.189 NotebookApp]←(B The Jupyter Notebook is running at: http://[all ip addresses on your system]:8888/ 
[I 23:01:01.189 NotebookApp]←(B Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). 

,我可以通過打開[泊塢窗主機從瀏覽器中打開Jupyter筆記本地址]:8888。

但是,在做了一些工作(例如創建新筆記本)之後,當我通過Ctrl-C兩次停止服務器時,所有新工作都將丟失。也許我錯過了一些基本的東西,所以讓我把我不知道的東西放在這裏:

  1. 我應該不停止服務器?
  2. 我在重新啓動時使用相同的「碼頭運行」命令。那是對的嗎?

感謝您的幫助。

回答

6

您希望將容器作爲守護程序運行。然後你可以用docker stopdocker start這個容器找回你的工作。

docker run -td -p 8888:8888 gcr.io/tensorflow/

-it運行,使容器的互動和運行這就是爲什麼當您取消它的工作將丟失的前景。最佳實踐並將其作爲守護進程運行,以便您不必按CTRL + C即可退出,而是讓Docker處理狀態。

+3

請您詳細說明答案。例如,有關「如果docker作爲守護程序運行,如何維護狀態」以及「如何將其作爲守護程序運行」的信息將很有用。雖然碼頭啓動啓動容器,如何保存容器? –

+0

這是一個非常廣泛的問題來回答。我建議你首先閱讀https://docs.docker.com/上的文檔,然後發佈任何具體問題或問題,你已經回到了stackoverflow。 –

3

我跑碼頭工人爲命名容器:

$ docker run -p 8888:8888 -d --name appu b.gcr.io/tensorflow-udacity/assignments 

「亞太郵聯」是我給我的容器名稱。 -p將端口號8888從Linux轉發到Windows。 -d讓程序在後臺運行,這樣你就可以在控制檯上獲得$提示符,並且可以繼續處理其他任務(這就是所謂的「惡魔化」,但不要被怪才嚇倒。意思是「請在後臺靜默運行,並給我回我的控制檯」!) 當你想停止容器,提到它的名字

$ docker stop appu 

下一次,你想獲得相同的容器中備用,用您在早期會話中創建的所有文件,再次啓動容器appu:

$ docker start appu 
1

您可以mount當前主機文件夾以替換容器中的默認/notebooks文件夾。以下是一個示例:

$ docker run -p 8888:8888 -v `pwd`:/notebooks -it gcr.io/tensorflow/tensorflow 
[I 02:34:49.393 NotebookApp] Writing notebook server cookie secret to /root/.local/share/jupyter/runtime/notebook_cookie_secret 
[W 02:34:49.411 NotebookApp] WARNING: The notebook server is listening on all IP addresses and not using encryption. This is not recommended. 
[I 02:34:49.420 NotebookApp] Serving notebooks from local directory: /notebooks 
[I 02:34:49.421 NotebookApp] 0 active kernels 
[I 02:34:49.421 NotebookApp] The Jupyter Notebook is running at: http://[all ip addresses on your system]:8888/?token=b9da5de7f61d6a968dc07e55c6157606a4f2f378cd764a91 
[I 02:34:49.421 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). 
[C 02:34:49.422 NotebookApp] 

    Copy/paste this URL into your browser when you connect for the first time, 
    to login with a token: 
     http://localhost:8888/?token=b9da5de7f61d6a968dc07e55c6157606a4f2f378cd764a91 
相關問題