如何批量清理臨時鏡像檔案?
答:可以使用
docker image prune
指令。
本地的鏡像檔案都存放在哪裡?
答:與 Docker 相關的本地資源預設存放在
/var/lib/docker/
目錄下,以
overlay2
檔案系統為例,其中
containers
目錄存放容器資訊,
image
目錄存放鏡像資訊,
overlay2
目錄下存放具體的鏡像層檔案。
容器退出後,通過 docker container ls 指令檢視不到,資料會丢失麼?
答:容器退出後會處于終止(exited)狀态,此時可以通過
docker container ls -a
檢視。其中的資料也不會丢失,還可以通過
docker start
指令來啟動它。隻有删除掉容器才會清除所有資料。
如何停止所有正在運作的容器?
docker stop $(docker container ls -q)
如何批量清理已經停止的容器?
docker container prune
如何擷取某個容器的 PID 資訊?
docker inspect --format '{{ .State.Pid }}' <CONTAINER ID or NAME>
如何擷取某個容器的 IP 位址?
docker inspect --format '{{ .NetworkSettings.IPAddress }}' <CONTAINER ID or NAME>
如何給容器指定一個固定 IP 位址,而不是每次重新開機容器 IP 位址都會變?
docker network create -d bridge --subnet 172.25.0.0/16 my-net
docker run --network=my-net --ip=172.25.3.3 -itd --name=my-container busybox
如何臨時退出一個正在互動的容器的終端,而不終止它?
使用 docker port
指令映射容器的端口時,系統報錯“Error: No public port ‘80’ published for xxx”?
docker port
- 建立鏡像時
要通過Dockerfile
指定正确的開放端口;EXPOSE
- 容器啟動時指定
。PublishAllPort = true