Try   HackMD

docker指令總覽及系統指令

(last update:2021/10/31)

docker指令分類一覽

  • 系統相關:docker system 列出docker相關資訊
  • 映像檔相關:docker image 管理映像檔
  • 容器相關:docker container container通常省略
  • 網路相關:docker network 管理網路
  • 儲存相關:docker volume 管理docker儲存設備
  • 服務相關:docker service 管理系統服務,有了k8s就沒落了
  • 堆疊相關:docker stack 管理多個容器堆疊,有了k8s就沒落了
  • 多主機相關:docker swarm 管理多台主機的docker叢集,有了k8s就沒落了

系統圖解

所有指令一覽

  • docker attach 連接到一個執行中容器的輸出(顯示容器)
  • docker build 利用自建的Dockerfile建立映像檔
  • docker commit 從目前執行的container建立一個映像檔
  • docker cp 容器間或實體機容器間複製檔案
  • docker exec 連接至容器內執行,如docker exec -it name bash
  • docker export 把容器的檔案系統存成tar壓縮檔
  • docker images 列出所有映像檔
  • docker import 從tar檔案建立映像檔
  • docker info 列出目前docker的系統資訊
  • docker inspect 列出docker的json系統完整資訊
  • docker kill 刪除執行中的容器
  • docker load 從tar中載入映像檔
  • docker login 登入docker的映像檔hub
  • docker logout 登出docker的映像檔hub
  • docker logs 查看容器的輸出資訊
  • docker pause 暫停容器的執行
  • docker port 列出容器對外開放的通訊埠
  • docker ps 列出執行的容器docker ps -a
  • docker pull 下載映像檔
  • docker push 上傳映像檔
  • docker rename 更名映像檔
  • docker restart 重啟映像檔
  • docker rm 刪除容器
  • docker rmi 刪除映像檔
  • docker run 啟動一個新的容器執行
  • docker save 將容器存入tar中
  • docker search 搜索docker hub
  • docker start 啟動停止的容器
  • docker stats 列出容器的執行狀態
  • docker stop 停止容器
  • docker tag 幫映像檔取標籤名稱
  • docker top 列出執行中容器目前的處理程序
  • docker unpause 讓暫停中的容器繼續執行

系統相關指令範例

範例1:docker version
列出docker版本,注意不同版本會有不同功能。有些功能在新版本均移除,請注意 https://docs.docker.com/engine/deprecated/。

(joshhuAI)joshhu:~/ $ docker version                                                                            [0:06:34]
Client: Docker Engine - Community
 Version:           20.10.7
 API version:       1.41
 Go version:        go1.13.15
 Git commit:        f0df350
 Built:             Wed Jun  2 11:56:47 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.7
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.13.15
  Git commit:       b0f5bc3
  Built:            Wed Jun  2 11:54:58 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.6
  GitCommit:        d71fcd7d8303cbf684402823e425e9dd2e99285d
 nvidia:
  Version:          1.0.0-rc95
  GitCommit:        b9ee9c6314599f1b4a7f497e1f1f856fe433d3b7
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
(joshhuAI)joshhu:~/ $      

範例2:docker info
顯示系統資訊。

(joshhuAI)joshhu:~/ $ docker info                                                                               [0:06:43]
Client:
 Context:    default
 Debug Mode: false
 Plugins:
  app: Docker App (Docker Inc., v0.9.1-beta3)
  buildx: Build with BuildKit (Docker Inc., v0.5.1-docker)
  scan: Docker Scan (Docker Inc., v0.8.0)

Server:
 Containers: 1
  Running: 1
  Paused: 0
  Stopped: 0
 Images: 7
 Server Version: 20.10.7
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux nvidia runc
 Default Runtime: nvidia
 Init Binary: docker-init
 containerd version: d71fcd7d8303cbf684402823e425e9dd2e99285d
 runc version: b9ee9c6314599f1b4a7f497e1f1f856fe433d3b7
 init version: de40ad0
 Security Options:
  apparmor
  seccomp
   Profile: default
 Kernel Version: 4.15.0-142-generic
 Operating System: Ubuntu 16.04.7 LTS
 OSType: linux
 Architecture: x86_64
 CPUs: 24
 Total Memory: 62.83GiB
 Name: joshhuai
 ID: YSFJ:UUP7:B7EV:OZLF:IX7Q:SVIP:4SM6:OVMR:SC7D:FVYV:D2N2:SAXM
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Username: joshhu
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

WARNING: No swap limit support

範例3:docker system prune
清除系統所有不要的東西。

(joshhuAI)joshhu:~/ $ docker system prune                                                                       [0:09:24]
WARNING! This will remove:
  - all stopped containers
  - all networks not used by at least one container
  - all dangling images
  - all dangling build cache

Are you sure you want to continue? [y/N] y
Total reclaimed space: 0B
(joshhuAI)joshhu:~/ $  

範例4:docker system events
檢視主機目前執行docker有關的訊息。

docker run -d newimage
(joshhuAI)joshhu:~/ $ docker system events                                                                      [0:12:03]
2021-10-31T00:12:56.299461853+08:00 container create 3d0571ca7fad49b69e48debc97880478acc5d4b74792cb78e3b07c29ee1b88fc (image=newimage, name=intelligent_snyder)
2021-10-31T00:12:56.320222453+08:00 network connect 5b4c28676aae128b3b825b86714510df45a86cd62e35bc9ec2b1ef3cbca66950 (container=3d0571ca7fad49b69e48debc97880478acc5d4b74792cb78e3b07c29ee1b88fc, name=bridge, type=bridge)
2021-10-31T00:12:56.881895643+08:00 container start 3d0571ca7fad49b69e48debc97880478acc5d4b74792cb78e3b07c29ee1b88fc (image=newimage, name=intelligent_snyder)
docker rm -f 3
(joshhuAI)joshhu:~/ $ docker system events                                                                      [0:11:22]
2021-10-31T00:11:45.735274280+08:00 container kill 781d1370a70ee9b2cd0b54ae0ae1a90acea648897e05307ad9232f4730bca6ca (image=newimage, name=romantic_volhard, signal=9)
2021-10-31T00:11:45.799964394+08:00 container die 781d1370a70ee9b2cd0b54ae0ae1a90acea648897e05307ad9232f4730bca6ca (exitCode=137, image=newimage, name=romantic_volhard)
2021-10-31T00:11:45.944675253+08:00 network disconnect 5b4c28676aae128b3b825b86714510df45a86cd62e35bc9ec2b1ef3cbca66950 (container=781d1370a70ee9b2cd0b54ae0ae1a90acea648897e05307ad9232f4730bca6ca, name=bridge, type=bridge)
2021-10-31T00:11:46.005736426+08:00 container destroy 781d1370a70ee9b2cd0b54ae0ae1a90acea648897e05307ad9232f4730bca6ca (image=newimage, name=romantic_volhard)

範例5:docker system df
列出目前磁碟使用狀況,主要為映像檔。

(joshhuAI)joshhu:~/ $ docker system df                                                                                              [0:14:15]
TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          4         0         544.4MB   544.4MB (100%)
Containers      0         0         0B        0B
Local Volumes   4         0         7.184GB   7.184GB (100%)
Build Cache     0         0         0B        0B
(joshhuAI)joshhu:~/ $  
tags: docker