Dcoker 入門
確保docker 已經安裝好了,如沒有裝好的可以參考:Docker | 安裝
執行第一個容器
docker run -it ubuntu /bin/bash
docker run
:執行容器的命令。
-i
: 保證容器中的 STDIN
標準輸入是開啟的。
-t
:為容器分配置一個偽tty終端。
ubuntu
: 容器的映象名稱,如不指定版本號,則為最新穩定版本。
/bin/bash
: 指定終端的指令碼解析器為 bash
。
在這個容器中,所有的操作和普通的 ubunt
機器一樣,所有的操作都可以正常進行,並且docker
還會為這個容器分配 ip,可以通過: cat /etc/hosts
檢視。
也可以安裝軟體:
當執行完操作後,我們可以通過 exit
退出。
容器命名
如果我們在使用命令時,一直使用 docker id
的話,會非常的不方便操作,隨然docker
會為容器生成一個隨機命名,但並不方便我們記憶,所以我們可以為我們建立的容器命名,命令:docker run --name ubuntu_test -it ubuntu /bin/bash
檢視容器 & 啟動容器
檢視自己的所有容器,命令:docker ps -a
檢視自己所有執行中的容器,命令:docker ps
啟動已經停止執行的容器,命令:`docker start [docker name]|[docker id]
停止執行的容器,命令:`docker stop [docker name]|[docker id]
能過命令重新附著到執行的容器中,命令:docker attach [docker name]|[docker id]
建立守護式容器
我們在正常使用中,希望容器都可以一直執行一去,但是我們上面的容器,都是互動式容器,只要使用者一退出,容器就自動關閉了,所以我們需要建立實護式的容器,當我們退出以後也可以一直執行下去。
docker run -d --name ubunut_docker_test ubuntu /bin/sh -c "while true;do echo hello world; sleep 1;done;"
檢視容器中輸出的日誌,命令:docker logs [docker name]|[docker id]
我們也可以新增引數檢視日誌:
-f
:一直監控日誌進行檢視。
-t
:在日誌每一行前面加上時間戳。
檢視容器內部程式,命令:docker top [docker name]|[docker id]
在容器內部執行命令
我們可以在容器外面直接執行命令對容器內部進行操作。
docker exec -d [docker id]|[docker name] (common)
例如:
docker exec -d ubunut_docker_test mkdir /tmp/ubunut_docker_test
沒有輸出,說明已經執行成功了,但是日誌無法輸出,我們如果想要看效果的話,只能去容器內部檢視。可以通過命令進入容器內部。
進入守護式容器內部
# 格式
docker exec -it [docker name]|[docker id] /bin/bash
docker exec -it ubunut_docker_test /bin/bash
檢視容器的資訊
我們平時,除了可以通過 docker ps
檢視命令的大致資訊外,我們還可以通過 docker inspect [docker name]|[docker id]
來檢視單個容器的詳細資訊:
Docker 的基本操作
- 檢視所有執行中的映象:
docker ps
- 檢視本地所有的映象:
docker ps -a
- 執行映象:
docker start 映象名|映象ID
- 停止映象:
docker stop 映象名|映象ID
- 刪除映象:
docker rm 映象名|映象ID
- 得到所有的映象ID
docker ps -a -q
- 執行所有映象:
docker start $(docker ps -a -q)
- 停止所有映象:
docker stop $(docker ps -a -q)
- 刪除所有映象:
docker rm $(docker ps -a -q)
細節決定成敗!
個人愚見,如有不對,懇請扶正!