Docker 常用命令備忘錄

暮良文王 發表於 2020-07-31

基礎命令

docker version
docker info
docker --help

  

映象命令

檢視

docker images
 
Docker 常用命令備忘錄
 

其中:

  • REPOSITORY:表示映象的倉庫源

  • TAG:映象的標籤(預設的版本標籤為 latest,拉映象時可以指定 TAG)

  • IMAGE ID:映象ID

  • CREATED:映象建立時間

  • SIZE:映象大小

命令的選項有:

  • -a:列出本地所有的映象
  • -q:只顯示映象 ID
  • --digests:顯示映象的摘要資訊
  • --no-trunc:顯示完整的映象資訊

其中最常用的為 

docker images -qa

  

搜尋

docker search [映象名]

 

Docker 常用命令備忘錄
 

常見的命令選項有:

  • --no-trunc:顯示完整的映象描述
  • -s:列出星星數不小於指定值的映象
  • --automated:列出所有自動構建的映象

 

下載映象

docker pull [映象名]

pull 命令類似 git 拉取程式碼,用於下載映象,映象名後可以跟 TAG 用於指定版本 docker pull 映象名:TAG,在 docker 中不加 TAG 預設為 latest

 

刪除映象檔案

docker rmi 映象名ID
 

可以跟映象 ID 也可以跟映象名。可以使用 -f 強制刪除,如果需要刪除所有映象可以使用 docker rmi -f $(docker images -qa)

如果刪除時提示衝突,可以先刪掉記錄docker ps -a -q | xargs docker rm 或者 docker rm -f $(docker ps -a -q)然後再刪除即可

 

容器命令

下載映象

docker pull centos

 

新建並執行容器

docker run [OPTIONS] image [COMMAND] [ARG]

常用的選項有:

  • --name:給容器指定名字,不指定的話會自動給定一個名字
  • -d:後臺執行容器,返回容器 ID
  • -i 與 -t:-i 表示以互動式方式執行容器,-t 表示為容器分配一個偽終端,通常兩者一起使用
  • -P:隨機埠對映
  • -p:指定埠對映關係
  • --rm:對於foreground容器,由於其只是在開發除錯過程中短期執行,其使用者資料並無保留的必要,使用該選項,這樣在容器退出時就能夠自動清理容器內部的檔案系統,但是不能和 -d 同時使用

執行方式:

  1. 互動式容器       

 docker run -it centos /bin/bash

     表示:使用映象 centos:latest 以互動模式啟動一個容器,在容器內執行/bin/bash命令。

 

    2. 守護式容器     

docker run -d centos

  執行以後在程式中看不到對應的容器。因為 Docker 容器後臺執行,就必須有一個前臺程式。容器執行的命令如果不是那些一直掛起的命令,就會自動退出。

 

檢視正在執行的容器

docker ps [OPTIONS]

常見的選項有

  • -a:列出當前所有正在執行的容器+歷史上執行過的
  • -l:顯示最近建立的容器
  • -n:顯示最近n個建立的容器
  • -q:靜默模式,只顯示容器編號
  • --no-trunc:不截斷輸出

 

退出容器

  1. 停止退出

    在容器的互動式終端輸入exit回車或者使用 "ctrl+D" 即可停止容器並退出

  2. 容器不停止退出

    即容器仍然在後臺執行,但是推出互動式終端,使用 "ctrl+P+Q" 即可

 

啟動容器

docker start 容器ID或者容器名

 

重啟容器

docker restart 容器ID或者容器名

  

停止容器

  1. 正常停止

docker stop 容器ID或者容器名

  2. 強制停止

 docker kill 容器ID或者容器名

  

刪除已經停止的容器

docker rm 容器ID

  

如果需要一次性刪除多個容器,可以使用:

docker rm -f $(docker ps -a -q)

 

檢視日誌

docker logs 容器 ID

通常新增如下選項:

  • -t:加入時間戳
  • -f:跟隨最新的日誌列印
  • --tail 數字:顯示最後多少條

 

檢視容器內部

  1. 檢視容器內部程式

docker top 容器ID

 

檢視容器內部細節

docker inspect 容器ID

 

進入正在執行的容器

  1. exec 進入

    docker exec -it 容器ID /bin/bash
    

    在容器中開啟新的終端,並且可以啟動新的程式

  2. attach 進入

    docker attach 容器ID
    

    直接進入容器啟動命令的終端,不會啟動新的程式

拷貝

  1. 從容器拷貝到宿主機上:

docker cp 容器ID:容器內路徑 目標的宿主機目錄

  2. 從宿主機拷貝到容器:

  docker cp 宿主機的目錄 容器ID:容器內路徑

  

不管容器是否啟動,拷貝都會生效

 
Docker 常用命令備忘錄