Docker (2) 基本操作指令
基本的 Docker 指令:
- docker pull: 令從倉庫取映像檔
- docker images: 顯示系統上的映像檔
- docker run: 建立一個新容器,並在其中執行指定命令
- docker ps: 顯示容器狀態
- docker commit: 保留變更
- docker rmi: 刪除映像檔
1. docker pull:
docker pull 類似 git pull 讓我們可以從倉庫取得映像檔。
$ sudo docker pull ubuntu:16.04
上面命令從 ubuntu 倉庫取得 16.04 這個 Tag 的映像檔。
pull 時的 log 如下
16.04: Pulling from library/ubuntu 660c48dd555d: Pull complete 4c7380416e78: Pull complete 421e436b5f80: Pull complete e4ce6c3651b3: Pull complete be588e74bd34: Pull complete Digest: sha256:7c67a2206d3c04703e5c23518707bdd4916c057562dd51c74b99b2ba26af0f79 Status: Downloaded newer image for ubuntu:16.04
2. docker images:
查看一下 pull 的結果,docker images 會顯示系統中的映像檔。
$ sudo docker images
映像檔的顯示結果如下:
REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu 16.04 20c44cd7596f 7 days ago 123 MB
3. docker run:
run ubuntu:16.04 的 terminal:
$ sudo docker run -ti ubuntu:16.04
成功的話應該會看到 root 登入的終端機:
root@6a026cfa63eb:/#
這時候可以在終端機中輸入 python3 看看
$ python3
這時候系統應該會告訴你它找不到 python3 這個指令,所以我們來安裝 python3 吧。
$ apt-get update $ apt-get install python3
!!! 這時候要非常注意一件事,假如你安裝完 python3 後直接 exit 的話你所安裝的 python3 會消失,下次再啟動這個容器並不會有 python3。
4. docker ps:
為了保留我們對映像檔的變更我們需要開啟另一台終端機,並使用 docker ps 指令
$ docker ps
這時候你應該會看到我們的容器正在運行如下:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6a026cfa63eb ubuntu:16.04 "/bin/bash" 15 minutes ago Up 15 minutes gracious_lovelace
5. docker commit:
這時候我們可以在新開的終端機中 commit 我們想儲存的容器:
$ sudo docker commit -m "install python3" -a "ooxx" 6a026cfa63eb ooxx/ubuntu_p3
-m: message,-a: author,6a026cfa63eb 是 docker ps 時顯示的容器 ID,最後是 REPOSITORY 名稱。好了之後我們可以把容器 exit。
這時候我們再執行一次 sudo docker images 看看
$ sudo docker images
這時後會看到我們新建立的映像檔:
REPOSITORY TAG IMAGE ID CREATED SIZE ooxx/ubuntu_p3 latest 8f3955e9ad71 3 minutes ago 162 MB ubuntu 16.04 20c44cd7596f 7 days ago 123 MB
6. docker rmi:
使用 sudo docker rmi IMAGE_ID 可以刪除映像檔。
假設刪除的過程中系統告訴你 "image is being used by stopped container xxxx"可以使用下列指令
$ sudo docker rm $(sudo docker ps --filter "status=exited" -q)
留言
張貼留言