小白工作常用docker命令

2021-10-09 20:52:05 字數 2363 閱讀 7046

常用:

docker ps 檢視執行容器

docker ps -a 檢視所有容器

docker images 檢視映象

docker pull 拉取映象(docker pull node:12.8.0, docker pull nginx:alpine)

docker rmi 映象id 刪除指定映象

docker rmi $(docker images | grep nginx-tcmvc-wx | awk '')

docker image prune -a 清理所有沒在使用的映象

docker stop 容器id 停止執行中容器

docker rm 容器id 刪除容器

docker rm $(docker ps -a | grep exited | awk '') 清理所有異常關閉的容器

docker volume ls docker資料卷

docker volume prune 刪除資料卷

docker exec -it 容器id sh 進入容器

docker logs -tf --tail 100 容器id 檢視日誌

docker logs -tf --tail 100 容器id > 檔案路徑 輸出日誌到宿主機

docker cp 宿主機本地路徑 容器id:容器內部路徑 宿主機本地檔案拷到docker內部

docker run -it --name doctor -p 9081:80 nginx 啟動方式 建立容器

docker stop 容器id 停止容器

docker start 容器id 啟動容器

docker system df 檢視docker磁碟使用情況

docker system info 檢視docker詳細資訊

docker system prune 刪除未使用的資料

docker system events 從伺服器獲取實時事件

docker stats 動態顯示記憶體使用情況

df -h 檢視磁碟空間情況

docker system df 檢視docker磁碟使用情況

docker system prune命令可以用於清理磁碟,刪除關閉的容器、無用的資料卷和網路,以及dangling映象(即無tag的映象)。docker system prune -a命令清理得更加徹底,可以將沒有容器使用docker映象都刪掉。注意,這兩個命令會把你暫時關閉的容器,以及暫時沒有用到的docker映象都刪掉了……所以使用之前一定要想清楚吶。

當清除容器,映象,資料卷無用時,可以考慮是否是日誌檔案過大

日誌在docker下面容器id下面的。json.log檔案中

ls -lh $(find /var/lib/docker/containers/ -name *-json.log)

如何清理日誌

如果docker容器正在執行,那麼使用rm -rf 方式刪除日誌後,通過df -h會發現磁碟空間並沒有釋放

原因:在linux或者unix系統中,通過rm或者檔案管理器刪除檔案將會從檔案系統的目錄結構上解除鏈結(unlink).然而如果檔案是被開啟的(有乙個程序正在使用),那麼程序將仍然可以讀取該檔案,磁碟空間也一直被占用

正確姿勢是cat /dev/null > *-json.log,當然你也可以通過rm刪除後重啟docker

logs=$(find /var/lib/docker/containers/ -name *-json.log)

for log in $logs

docat /dev/null > $log

done

可以使用du命令檢視檔案使用情況

du -ah --max-depth=1

docker設定日誌大小限制

3.1 設定乙個容器服務的日誌大小上限

通過配置容器docker-compose.yml的max-size選項來實現:

nginx:

image: nginx:1.12.1

restart: always

logging:

driver: "json-file"

options:

max-size: "5g"

3.2 全域性設定

新建/etc/docker/daemon.json,若有就不用新建了

# vim /etc/docker/daemon.json

}max-size=500m,意味著乙個容器日誌大小上限是500m,

max-file=3,意味著乙個容器有三個日誌,分別是id+.json、id+1.json、id+2.json

注:設定後只對新新增的容器有效。

重啟docker守護程序

systemctl daemon-reload

systemctl restart docker

docker中的命令引數(小白常用)

run是最常用的命令,他是docker creat和docker start命令的組合,建立容器並啟動它。run的引數比較難理解的是 i 和 t 以及 d,分別說說這三個。i 引數是keep stdin open even if not attached,意思就是會把互動介面保留著。但是要看容器的p...

docker日常工作常用命令

搜尋映象 docker search 獲取映象 docker pull 檢視映象 docker images 刪除映象 docker rmi 重啟docker systemctl start docker 隨機啟動nginx容器 隨機埠 docker run d p nginx 指定對映埠 dock...

常用Docker命令

映象類 docker build rm true 構建映象 docker pull 安裝映象 docker images顯示已經安裝的映象 docker images no trunc顯示已經安裝映象的詳細內容 docker rmi 刪除指定映象 docker rmi docker images g...