2017-10-17 52 views
0

我從https://github.com/ContinuumIO/docker-images/blob/master/anaconda3/Dockerfile複製碼頭文件並在本地執行生成的集裝箱。附加到本地生成的碼頭集裝箱

尾礦建立在過去的3行輸出:

Removing intermediate container 336f89d3f6d8 
Step 9/13 : RUN echo 'export PATH=/opt/conda/bin:$PATH' > /etc/profile.d/conda.sh &&  wget --quiet https://repo.continuum.io/archive/Anaconda3-5.0.0-Linux-x86_64.sh -O ~/anaconda.sh &&  /bin/bash ~/anaconda.sh -b -p /opt/conda &&  rm ~/anaconda.sh 
---> Running in 3f431fcbc628 

道歉新手的問題,「在運行」是指容器建立?

因此,爲了附加碼頭我使用docker exec -it 3f431fcbc628 /bin/bash,碼頭容器可以建立,而同時附加到容器一旦建成?

回答

1

不需要道歉,這就是我們學習的方式;)

所以,碼頭工人,圖像製成的層。這意味着每次在Dockerfile中指定一個命令時,都會創建一個圖層。

你所看到的意思是運行命令在圖像層3f431fcbc628中執行。你可以通過docker exec檢查那個(就像你剛剛完成的那樣)到那個層。

但是,在構建Docker鏡像期間,您無法附加到容器。一旦它完全建成,你可以附加它。

+0

一旦圖像完全建立...你可以用它來運行容器**,然後你可以將**附加到容器**。 – larsks

+0

@Sergiu謝謝,所以輸出「--->在3f431fcbc628中運行」表示容器仍在構建中?我想問的原因是,在我殺死它之前,容器的構建似乎掛在了這個輸出上,這是否是「掛起」? –

+0

@ blue-sky歡迎您:)我不確定爲什麼發生這種情況,而不是應該發生的事情。您是否嘗試過使用像ubuntu這樣的基礎映像,並手動運行命令以查看發生了什麼? – Sergiu