天天看點

Docker常用指令整理鏡像容器日志拷貝清理

鏡像

檢索鏡像

docker search <鏡像名>

拉取鏡像

docker pull  <鏡像名>:<版本号>

檢視鏡像

docker images

删除鏡像

docker rmi <鏡像id>

鏡像曆史

docker history <鏡像名>

将修改後的容器重新打包成鏡像

docker commit <容器id> <鏡像名稱>:<版本号>

參數說明:

-a :送出的鏡像作者;

-c :使用Dockerfile指令來建立鏡像;

-m :送出時的說明文字;

-p :在commit時,将容器暫停。

送出鏡像到雲倉庫

docker push <鏡像id> <雲倉庫位址>

制作鏡像

docker build -t <鏡像名>:<版本号> .

--tag, -t: 鏡像的名字及标簽,通常 name:tag 或者 name 格式;可以在一次建構中為一個鏡像設定多個标簽

-f :指定要使用的Dockerfile路徑

-m :設定記憶體最大值

--build-arg=[] :設定鏡像建立時的變量

--cpu-shares :設定 cpu 使用權重

--cpu-period :限制 CPU CFS周期

--cpu-quota :限制 CPU CFS配額

--cpuset-cpus :指定使用的CPU id

--cpuset-mems :指定使用的記憶體 id

--disable-content-trust :忽略校驗,預設開啟

--force-rm :設定鏡像過程中删除中間容器

--isolation :使用容器隔離技術

--label=[] :設定鏡像使用的中繼資料

--memory-swap :設定Swap的最大值為記憶體+swap,"-1"表示不限swap

--no-cache :建立鏡像的過程不使用緩存

--pull :嘗試去更新鏡像的新版本

--quiet, -q :安靜模式,成功後隻輸出鏡像 ID

--rm :設定鏡像成功後删除中間容器

--shm-size :設定/dev/shm的大小,預設值是64M

--ulimit :Ulimit配置

--squash :将 Dockerfile 中所有的操作壓縮為一層

--network: 預設 default。在建構期間設定RUN指令的網絡模式

容器

檢視容器

docker ps

參數說明:

-a :顯示所有的容器,包括未運作的。

-f :根據條件過濾顯示的内容。

-l :顯示最近建立的容器。

-n :列出最近建立的n個容器。

-q :靜默模式,隻顯示容器編号。

-s :顯示總的檔案大小。

--format :指定傳回值的模闆檔案。

--no-trunc :不截斷輸出。

删除容器

docker rm <容器id>

删除所有容器

docker rm `docker ps -a -q`

啟動容器

docker start <容器id>或<容器名>

重新開機容器

docker restart <容器id>或<容器名>

停止容器

docker stop <容器id>或<容器名>

殺死容器

docker kill <容器id>或<容器名>

進入/離開容器

docker exec -it <容器id> /bin/bash

exit

日志

docker logs <容器id>

-f : 跟蹤日志輸出

--tail :僅列出最新N條容器日志

--since :顯示某個開始時間的所有日志

-t : 顯示時間戳

示例:

檢視容器從2021年1月1日後的最新10條日志

docker logs --since="2021-01-01" --tail=10 <容器id>

拷貝

主控端檔案-->容器目錄下

docker cp 主控端目錄 <容器id>:<容器目錄>

容器檔案-->主控端目錄下

docker cp <容器id>:<容器目錄>  主控端目錄

檢視中繼資料

docker inspect <容器id>

清理

删除未使用的鏡像

docker image prune -a

可以使用帶有--filter标志的過濾表達式

例如,要僅考慮超過24小時前建立的鏡像

docker image prune -a --filter "until = 24h"

删除停止的容器

docker container prune

删除未使用的卷

docker volume prune

删除未使用的網絡

docker network prune