docker 常用命令備忘錄

基礎命令

docker version
docker info
docker --help

  

鏡像命令

查看

docker images
 
 

其中:

  • REPOSITORY:表示鏡像的倉庫源

  • TAG:鏡像的標籤(默認的版本標籤爲 latest,拉鏡像時可以指定 TAG)

  • IMAGE ID:鏡像ID

  • CREATED:鏡像創建時間

  • SIZE:鏡像大小

命令的選項有:

  • -a:列出本地所有的鏡像
  • -q:只顯示鏡像 ID
  • --digests:顯示鏡像的摘要信息
  • --no-trunc:顯示完整的鏡像信息

其中最常用的爲 

docker images -qa

  

搜索

docker search [鏡像名]

 

 

常見的命令選項有:

  • --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:容器內路徑

  

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章