D&K 課程筆記4 docker ps與Container Life cycle

docker ps指令與Container Life cycle

ZONGRU Li
Oct 2, 2020
docker ps

當執行以上指令會看到一個表:

空空的表..

基本上該指令會顯示出運行的Container

但是我們前面跑的Container都是一下子就結束

例如

所以現在嘗試執行會跑比較久的程式內容

比如說ping google.com,並且開第二個視窗來跑docker ps

上面的ping的部分可以透過ctrl+C鍵來終止

(但是window版ctrl+C只會離開這個Container,而不會停止ping的動作)

docker ps的視窗可以看到運行中的Container的基本資訊

window版則需要下docker stop <Container ID>來終止該Container

另外還有進階指令來看曾經建立過的Contatiner

docker ps --all

關於Container的Lifecycle

首先分解一個指令動作為兩個指令:

docker run = docker create <image>+ docker start <Container ID>

首先試著先跑docker create <image>指令,會拿到剛建好的Container ID

再來執行啟動指令docker start <Container ID>如下

可以看到上圖我多打了個-a

這個-a有什麼用呢?試著不打看看會如何

這樣可以看到-a的功能,其實就是盯著這個Container內的Output,並顯示

而我們也可以透過docker start指令來重複啟動已經停止的Container

這裡有一個重點,如上圖我使用既有已經結束的Container ID:9a5b6ab8596b

僅僅只能執行他原本建立時代的執行指令

當我想跑同一個Container但是想執行別的指令時就會出錯:

因為執行指令"ls"是包在這個Container裡面了!

參考課程

--

--

ZONGRU Li
ZONGRU Li

Written by ZONGRU Li

2022/11/17 開源部分個人筆記給LINE "Java程式語言討論區"社群,希望能對社群的技術學習做一點點貢獻.(掩面....記得退訂閱!

No responses yet