1. 程式人生 > >Docker第三篇-Docker常用命令集錦

Docker第三篇-Docker常用命令集錦

文章目錄

普通命令

  • docker     查詢所有docker客戶端命令
  • docker command --help     相關命令的幫助
  • docker version     檢視docker版本
  • docker system df     檢視映象、容器、資料卷佔用的空間

映象命令

  • docker images     列出所有映象
  • docker images ls     列出部分映象
  • docker images ls -digests     顯示映象摘要
  • docker images mysql     單獨列出mysql映象

    列表中的映象大小是從伺服器下載下來解壓後的大小,伺服器上的檔案是壓縮後的,便於網路傳輸,但是下載到本地後會展開。列表中的映象體積總和並非是所有映象實際硬碟消耗。由於 Docker 映象是多層儲存結構,並且可以繼承、複用,因此不同映象可能會因為使用相同的基礎映象,從而擁有共同的層。由於 Docker 使用 Union FS,相同的層只需要儲存一份即可,因此實際映象硬碟佔用空間很可能要比這個列表映象大小的總和要小的多

  • docker search redis     搜尋redis映象
  • docker pull [選項] [Docker Registry 地址[:埠號]/]倉庫名[:標籤]     下載映象

    Docker 映象倉庫地址:地址的格式一般是 <域名/IP>[:埠號]。預設地址是 Docker Hub官網(https://hub.docker.com)
    倉庫名:這裡的倉庫名是兩段式名稱,即 <使用者名稱>/<軟體名>(個人上傳的映象也要遵循這種格式)。對於 Docker Hub,如果不給出使用者名稱,則預設為 library,也就是官方映象

  • docker pull redis     下載redis映象,預設下載最新版本的映象
  • docker pull redis:5.0-rc     下載指定版本的redis映象
  • docker rmi [映象ID]     刪除映象
  • docker image ls -f dangling=true     列出所有的虛懸映象

    映象既沒有倉庫名,也沒有標籤,均為的稱為虛懸映象,這種映象一般都是沒用的

  • docker image prune     刪除所有的虛懸映象

容器命令

  • docker ps     檢視執行中的容器
  • docker ps -a     檢視所有容器,包含執行中的和暫停中的
  • docker inspect [容器名稱]     檢視容器的相關資訊

    檢視容器資訊,顯示的內容會非常多,這裡可以使用Linux提供的管道符進行過濾,比如:
    docker inspect mysql_master|grep IPAddress     檢視IP地址
    docker inspect mysql_master|grep /var/lib/docker/volumes     檢視掛載卷資訊

  • docker run -tid [映象ID] /bin/bash     執行容器,針對映象為非CentOS7系統
  • docker run -tid [映象ID] /usr/sbin/init     執行容器,針對映象為CentOS7版本,使用/bin/bash建立後進入容器使用systemctl命令會報錯,因此使用/usr/sbin/init解決systemctl報錯不能使用的問題
  • docker start [容器名稱]     啟動容器
  • docker stop [容器名稱]     停止容器
  • docker restart [容器名稱]     重啟容器
  • docker rename [容器原名稱] [容器修改後名稱]     修改容器名稱
  • docker rm [容器名稱]     刪除容器
  • docker container prune     刪除所有處於執行狀態的容器
  • docker exec -it [容器名稱] /bin/bash     進入容器
  • exit     退出容器
  • docker export [容器ID] > /tmp/nginx.tar     將容器匯出到本地檔案
  • cat /tmp/nginx.tar | docker import - test/nginx:v1.0     匯入容器成為映象,映象名為text/nginx,版本號為v1.0
  • docker port [容器ID]     檢視指定容器的所有埠對映資訊
  • docker port [容器ID] 80     檢視指定容器的80埠對映資訊

容器間檔案拷貝

  • docker cp [宿主機檔案路徑] [docker容器名稱]:[docker容器路徑]

    宿主機的檔案拷貝到docker容器,如:
    docker cp MySQL-server-5.6.38-1.el7.x86_64.rpm mysql_master:/root/

  • docker cp [docker容器名稱]:[docker容器路徑] [系統路徑]

    docker容器的檔案拷貝到宿主機