[Docker] 6. 開始運作你的 app:啟動 & 停止 Docker Container
學習目標
- 瞭解 Dockerfile 跟 Image 的關係
- 了解 Dockerfile 的基本語法
- 瞭解如何利用 Dockerfile 建立 Image
Start Container
by UI
要啟動一個 Container,我們在 docker desktop 對一個 Image 做 Run
接著就會提供一些選項,像是讓我們客製化
- Container expose 的 port
- 最後我們主機上顯示的 port
此處,我們將 Container port 設定為 4000,主機上的 port 為 4001
在我們瀏覽器上,會看見 Server 在 4001 port 運行
by Terminal
使用
docker images
就可以顯示出目前所有存在的 Image
我們可以藉由
docker run <Repository>
來開啟一個以此 <REPOSITORY>
為 Image 的 Container
我們可以在 run
& <REPOSITORY>
中間客製化 Container 的名稱
docker run --name <Container Name> <Repository>
客製化 port
客製化 port 包含 2 部分 包括
- Container 的 port
- 主機上的 port
docker run --name <Container Name> <Repository> -p <Host Port>:<Container Port>
# example
docker run --name test-container test-image -p 4001:4000
如果不想要 docker Container 運行時,顯示在你的 terminal,你可以加入 -d
flag (detached),就不會阻擋 terminal,可以繼續在 terminal 輸入其他指令了
Start already existed Container
如果我們想要啟用已經存在,但狀態是 Exited 的 Container, 我們可以用
docker start <Container Name>
Stop Container
by terminal
show current Container
利用
docker ps
來確認現在所有 In-Use 的 Container 的,
Exited 的不會顯示在這
( ps
=== Process )
若我們想要顯示 Exited 的 Container,我們可以加入 -a
flag,表示 all,顯示所有的 Container
Stop Container
我們可以利用
docker stop <Container Name or Container ID>
來終止一個 Container 的運行