D&K 課程筆記4 docker ps與Container Life cycle
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裡面了!