Docker常用命令整理

pshdhx發表於2020-10-23

筆記來自:https://pan.baidu.com/s/1FLcOpjpJTJlP36lzD-kfWA#list/path=%2F

幫助命令

docker version

docker info

docker --help

映象命令

docker images

  列出本地主機上的映象

       各個選項說明:

         

REPOSITORY表示映象的倉庫源
TAG映象的標籤
IMAGE ID映象ID
CREATED映象建立時間
SIZE映象大小

 

     options 說明

       -a:列出本地所有的映象(包含中間映象層)

       -q:只顯示映象id

      --digests:顯示映象的摘要資訊

      --no-trunc:顯示完整的映象資訊

docker search 某個映象的名字

  options:

   --no-trunc:顯示完整的映象描述

   -s:列出收藏數不小於指定值的映象

   -automated:只列出automated build 型別的映象

docker pull 某個映象的名字

  下載映象

  docker pull 映象名字[:TAG]

docker rmi 某個映象名字id

  刪除映象

  刪除單個——docker rmi -f 映象id

  刪除多個——docker rmi -f 映象名1:TAG 映象名2:TAG

  刪除全部——docker rmi -f $(docker images -qa)

容器命令

有映象才能建立容器,這是根本前提

docker pull centos

新建並啟動容器 docker run [options] image [command] [arg..]

 options

   OPTIONS說明(常用):有些是一個減號,有些是兩個減號

   --name="容器新名字": 為容器指定一個名稱;

   -d: 後臺執行容器,並返回容器ID,也即啟動守護式容器;

   -i:以互動模式執行容器,通常與 -t 同時使用;

   -t:為容器重新分配一個偽輸入終端,通常與 -i 同時使用;

   -P: 隨機埠對映;

   -p: 指定埠對映,有以下四種格式

     ip:hostPort:containerPort

     ip::containerPort

     hostPort:containerPort

     containerPort

啟動互動式容器

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

   docker run -it centos /bin/bash 

列出當前正在執行的容器

   docker ps [options]

    -a :列出當前所有正在執行的容器+歷史上執行過

    -l :顯示最近建立的容器。

    -n:顯示最近n個建立的容器。

    -q :靜默模式,只顯示容器編號。

    --no-trunc :不截斷輸出。

退出容器

  exit:容器停止退出

  ctrl+p+q 容器不停止退出

啟動容器

  docker start 容器id或者容器名字

重啟容器

  docker restart 容器id或者容器名字

停止容器

 docker stop 容器id或者容器名字

強制停止容器

  docker kill 容器id或者容器名字

刪除已經停止的容器

docker rm 容器id  

 一次性刪除多個容器:docker rm -f $(docker ps -a -q)  docker ps -a -q|xargs docker rm

啟動守護式容器

docker run -d 容器名

使用映象centos:latest以後臺模式啟動一個容器

docker run -d centos 

問題:然後docker ps -a 進行檢視, 會發現容器已經退出

很重要的要說明的一點: Docker容器後臺執行,就必須有一個前臺程式.

容器執行的命令如果不是那些一直掛起的命令(比如執行top,tail),就是會自動退出的。

這個是docker的機制問題,比如你的web容器,我們以nginx為例,正常情況下,我們配置啟動服務只需要啟動響應的service即可。例如

service nginx start

但是,這樣做,nginx為後臺程式模式執行,就導致docker前臺沒有執行的應用,

這樣的容器後臺啟動後,會立即自殺因為他覺得他沒事可做了.

所以,最佳的解決方案是,將你要執行的程式以前臺程式的形式執行

檢視容器日誌

docker logs -f -t --tail 容器id

  

 

 

相關文章