Docker Quick Start

Docker

Docker 簡介

下面這張圖是 Docker VS VM ,plesas focus docker 的部分就好

Host Operating System 就是 server 上裝的OS,然後我們在上面裝一個應用程式 Docker ,Docker裡面會跑起來N個 Container , Container 裡面會有你寫的 service 

下圖是描述 container 和 image 的關係,image 你可以把他當成還沒開始跑的 container

1. 下載 image

2. 把 image 跑起來 => container

3. 當然你可以對 container 給一些基本的操作 restart, stop ...

Docker Command

官網的 Command 文件

https://docs.docker.com/engine/reference/commandline/docker/

1. docker info

一些基本資訊

2. docker ps

列出現在有在跑的docker

IMAGE 指這個container 從哪個 image 來的

STATUS 現在狀態如何 (starting) (healthy)

NAMES, CONTAINER ID 這兩個欄位都代表這個 container ,指令中你可以用 ID 或 Name

PORTS 現在有兩組 port 要對應,一組是主機上的 port ,另一組是 container 上的 port ,在 run 起 container 的時候都要定義好 port 的 mapping

下圖 container 對應了三組 port

Host                     Container

0.0.0.0:7022        22

0.0.0.0:7070        80

0.0.0.0:7443        443

docker ps -a 列出所有 container,沒有加 -a 是不會列出現在是(Exited)關起來的container

3. docker run --name [container name] [image]

將 image 變成 container 的指令,container 不能重複,可以重複使用相同 image

4. docker start [container]

開啟 container 可以打 name 或 ID,ex: docker start gitlab  或   docker start 927138...

5. docker stop [container]    or      docker stop [container]

關閉 container

6. docker restart [container]

重啟 container ,每當改 config 之後都要重啟,但是重啟要很久,所以有替代方案 gitlab-ctl reconfigure 這個比較快

7. docker logs [container] -f

查詢 container log ,-f 會讓 log 一直刷新在你的 terminal 上,當你發現 container 一直處於 starting 的時候就近去看看吧,目前有遇過的問題像 host port 被占用就會一直卡在 starting

8. docker rm [container]

移除 container ,移掉之後就要重新 run 才會出現在列表中

 

參考連結

https://ithelp.ithome.com.tw/users/20103456/ironman/1320

https://codingthesmartway.com/docker-beginners-guide-part-1-images-containers/