以前在 macOS 安裝 Ubuntu 都要先安裝 Parallel Desktop,然後再將 Ubuntu 安裝在 Parallel Desktop 上,安裝了 Docker for Mac 後,只要下載 Ubuntu 的 Docker image,Ubuntu 就能以 container 形式跑在 Docker 上。
Version
macOS High Sierra 10.13.3
Docker for Mac 17.20.0-ce-mac49 (21995)
Ubuntu 16.04.4 LTS
Docker for Mac 17.20.0-ce-mac49 (21995)
Ubuntu 16.04.4 LTS
搜尋 Ubuntu Image
1
| $ docker search ubuntu
|
使用
docker search
搜尋 Docker Hub 的 image。- 使用 Docker 第一步就是使用
docker search
到 Docker Hub 搜尋 image 下載 - 找到
ubuntu
image - 7234 star
- 為 official image
下載 Docker image 時,盡量使用 official image,而不要使用別人包過的 image,因為可能會有後門或木馬
下載並建立 Container
1
| $ docker run --name MyUbuntu -dt ubuntu
|
使用
docker run
由 image 建立 container,當 Docker 發現本機沒有 image,會自動從 Docker Hub 下載。- –name : 替 container 取一個人能夠識別的名字
MyUbuntu
( 若省略,Docker 將隨機命名 ) - -d :
d
etach,建立 container 後,就脫離目前 process - -t :
t
erminal,預設執行/bin/bash
process,為了讓 container 啟動後不會立即停止 - ubuntu : Ubuntu 的官方 image 名稱
Docker container 重要觀念One process per container
- 一個 container 應該只有 process
- 若有多個 process,就應該有多個 container
- process 執行完,container 則釋放停止執行
當 process 執行完,container 會自動釋放,ubuntu
image 預設並沒有執行任何 process,所以start
完後會自動釋放,為了讓 container 不會執行完立即釋放,因此特別加上-t
,讓此 container 預設執行bash
,使的 container 不會釋放
- 使用
docker run
建立 container 並執行 bash
觀察 Container
1
| $ docker ps
|
- ps :
p
resents
tate,使用docker ps
顯示正在執行
的 container。
- 輸入
docker ps
MyUbuntu
container 正在執行中
進入 Ubuntu
1
| $ docker exec -it MyUbuntu bash
|
使用
docker exec
對已經執行中的 container 下指令。- -i :
i
nteractive,可對 terminal 輸入資料 - -t :
t
erminal,可對 terminal 顯示資料 - MyUbuntu : Container 名稱
- bash : 對 container 下的指令
- 輸入
docker exec -it
進入 container 的 terminal - 輸入
ll
- 顯示 Ubuntu 內的目錄結構
如此可證明 Ubuntu 已經正常啟動
離開 Ubuntu
1
| $ exit
|
使用
exit
離開 Ubuntu 的 terminal。停止 Container
1
| $ docker stop MyUbuntu
|
使用
docker stop
停止 container。- 輸入
docker stop MyUbuntu
停止MyUbuntu
container - 輸入
docker ps
顯示目前執行中的 container
目前已經沒有執行中的 container,表示 Ubuntu 已經停止執行
啟動 Container
1 2 | $ docker start MyUbuntu $ docker ps |
使用
docker start
重新啟動已經在硬碟,但還沒有執行的 container。
使用
docker ps
顯示目前執行中的 container。- 輸入
docker start MyUbuntu
啟動MyUbuntu
container - 輸入
docker ps
顯示目前執行中的 container MyUbuntu
container 執行中。
刪除 Container
1
| $ docker rm MyUbuntu
|
使用
docker rm
刪除在硬碟中的 container。- 輸入
docker rm MyUbuntu
刪除MyUbuntu
container,由於 container 正在執行中,無法刪除 - 輸入
docker stop MyUbuntu
停止MyUbuntu
container - 再次輸入
docker rm MyUbuntu
刪除MyUbuntu
container,此次刪除成功 - 輸入
docker ps -a
顯示所有在硬碟的 container,確認已經沒有任何 container
要刪除 container 之前,必須先停止 container,才能加以刪除。
顯示所有 Image
1
| $ docker images
|
使用
docker images
顯示目前在硬碟所有的 image。- 輸入
docker images
顯示目前在硬碟的所有 image - 目前有
ubuntu
image
刪除 Image
1
| $ docker rmi ubuntu
|
使用
docker rmi
刪除 image。- rm : 刪除
- i :
i
mage
- 輸入
docker rmi ubuntu
刪除ubuntu
image - 輸入
docker images
確認是否 image 已被刪除
Summary
Conclusion
- 使用 Docker 快速建立 Ubuntu 測試環境
- 本文為 Docker 最基本的操作,是使用 Docker 一定要會的基本指令
資料來源:點燈坊
沒有留言:
張貼留言