Docker 常用指令
info 列出 docker 環境與系統的相關資訊
docker info
- 映像檔數、容器數、檔案系統目錄、Linux 核心版本,Linux 版本、CPU 及記憶體
version 列出 Docker 版本,以及 Go 語言的版本
docker version
容器執行時的操作
run 將映像檔執行成容器
$ docker run -it $IMAGENAME $COMMAND
-d
把 container 執行在主機背景- -it
stdin
及輸出裝置stdout
-p #HOSTPORT:$CONTTAINERPORT
port 的 mapping,host port 80 → container port 8080-restart=always
如果遇到例外的情況被停掉, 會試著重新啟動容器-name=$CONTAINERNAME
設定 container 的 name 為 nginx- run 指令同 docker create
- 建立不會停止的容器
docker run -d busybox ping [localhost](http://localhost)
後面加入 ping localhost 指令-dt / -di / -idt
加入參數 t 或 i
kill 刪除執行中的容器
docker kill $CONTSINERNAME/$CONTAINERID
pause / unpause 暫停 / 恢復容器,仍佔有記憶 體
docker pause/unpause $CONTSINERNAME/$CONTAINERID
start / stop 把容器啟動 / 暫停
docker start/stop $CONTSINERNAME/$CONTAINERID
restart 重新啟動容器
docker restart $CONTSINERNAME/$CONTAINERID
wait 讓容器暫停直到容器停止
docker wait $CONTSINERNAME/$CONTAINERID
rename 更名容器
docker rename $CONTSINERNAME/$CONTAINERID
rm 刪除 container
docker rm -f $CONTSINERNAME/$CONTAINERID
f
:強制刪除 Container
映像檔相關指令
images 列出本機映像檔
docker images
-a
列出完整的映像檔層次資訊-q
只列出映像檔 ID-tree
列出映像檔不同層次之間的樹狀關係
pull 下載 image
docker pull $IMAGENAME
- 沒有加任何 Registry 的位址時,就預設從官方 Registry 下載
docker save / load 將映像檔存入 / 匯出電腦檔案格式
docker save $CONTAINERNAME > $FILENAME
docker save --output $FILENAME $CONTAINERNAME
docker load --input $FILENAME
docker load --input webdemou12.taz
- 存成
tarball
格式及匯出,存入時加上參數-o
來壓縮
search 搜尋需要的 image
docker search ubuntu -f is-official=true
is-official=true
表示要搜尋是官方的 Docker image-s
用來找評等較高的映像檔
rmi 刪除 image
docker rmi $IMAGENAME
docker rmi -f $(docker images -aq)
- 一次刪除所有的 image
tag 替本機映像檔加標籤名稱
build 自建映像檔
docker build
hisotry 列出映像製作過程
docker history
push 上傳映像檔
docker push $USERNAME/$REPONAME>:$TAGNAME
- 可以上傳到官方 / 私有 / 非官方公開的 Docker Registry 上
容器執行時的操作
attach 進入容器操作終端命令列
docker attach $CONTAINERNAME/$COTAINERID
- 離開容器時,會依據創建容器時的參數決定容器是否停止
d
或id
離開時停止td
離開時繼續在背景執行
exec 在容器中執行指令
$ docker exec -it $CONTAINERNAME/$COTAINERID $COMMAND
docker denter:進入Container
logs 查看容器的 logs
docker logs $CONTSINERNAME/$CONTAINERID
容器和主機之間的操作
cp 複 製容器內的檔案到主系統
docker cp $CONTAINERNAME:$SRC_PATH $DEST_PATH
docker cp $SRC_PATH $CONTAINERNAME:$DEST_PATH
diff 檢查容器里文件結構的更改
docker diff $CONTSINERNAME/$CONTAINERID
Symbol | Description |
---|---|
A | A file or directory was added |
D | A file or directory was deleted |
C | A file or directory was changed |
events 列出某個時間點之前或之後的事件
docker events
查看容器的狀態
inspect 檢查容器的狀態
docker inspect
stats 查看容器的 CPU、記憶體及網路使用
docker stats
port 查看容器的通訊埠使用
docker port
ps 顯示啟動的容器
docker ps
-a
如果沒有加上 -a 參數,只會顯示 running 的 container
docker top 查看容器在主機的記憶體使用
docker top
docker dip:查看容器的 IP
docker dip
docker dpid:查看容器的 pid
docker dpid
容器和映像檔之間的操作
docker commit:將 Container 的改變存入映像檔
docker export $CONTAINERNAME > $FILENAME
docker export 把 Container export 成檔案
docker export $CONTAINERNAME > $FILENAME
docker export nginx > nginx.taz
docker import 把 export 匯出的檔案轉成 image
cat $FILENAME | docker import - $IMAGENAME
cat nginx.tar | docker import - nginxbak