Docker常用命令

語言: CN / TW / HK

原文連結: https://www.zhoubotong.site/post/68.html

Docker常用命令

刪除安裝包:

sudo apt-get purge docker-ce

刪除映象、容器、配置檔案等內容:

sudo rm -rf /var/lib/docker

清理掉所有處於終止狀態的容器

sudo docker container prune

使用 docker port bf08bxxx(容器id) 或 docker port namexxx(容器名稱) 來檢視容器埠的對映情況

使用 docker logs [ID或者名字] 可以檢視容器內部的標準輸出。

sudo docker logs -f bf08bxxx

-f:讓  docker logs 像使用  tail -f 一樣來輸出容器內部的標準輸出。\

使用 docker top 來檢視容器內部執行的程序

sudo docker top bf08bxxx(或容器名稱)

使用 docker inspect 來檢視 Docker 的底層資訊。它會返回一個 JSON 檔案記錄著 Docker 容器的配置和狀態資訊。

sudo docker inspect bf08bxxx(或容器名稱)

使用docker stop/start  bf08bxxx 停止/啟動容器

sudo docker ps -l #查詢最後一次建立的容器

使用 docker rm 命令來刪除不需要的容器

sudo docker rm wizardly_chandrasekhar

刪除容器時,容器必須是停止狀態,否則會報錯。

使用 docker rmi 命令刪除映象,比如我們刪除 ubutun 映象:

sudo docker rmi ubutun

映象更新提交

當我們從 docker 映象倉庫中下載的映象不能滿足我們的需求時,我們可以通過以下兩種方式對映象進行更改。

1、從已經建立的容器中更新映象,並且提交這個映象

2、使用 Dockerfile 指令來建立一個新的映象

更新映象之前,我們需要使用映象來建立一個容器。

[email protected]:~$ docker run -t -i uos:15.10 /bin/bash
[email protected]:/#

在執行的容器內使用 apt-get update 命令進行更新。

在完成操作之後,輸入 exit 命令來退出這個容器。

此時 ID 為 e218ed11ee1 的容器,是按我的需求更改的容器。可以通過命令 docker commit 來提交容器副本。

[email protected]:~$ docker commit -m="uos update" -a="zhoubotong" e218ed11ee1 zhoubotong/uos:v2

各個引數說明:

  • -m:  提交的描述資訊
  • -a:  指定映象作者
  • e218ed11ee1: 容器 ID
  • zhoubotong/uos:v2:  指定要建立的目標映象名

我們可以使用 docker images 命令來檢視我們的新映象  zhoubotong/uos:v2, 這裡不再闡述。

映象構建

使用命令 docker build , 從零開始來建立一個新的映象。我們需要建立一個 Dockerfile 檔案,其中包含一組指令來告訴 Docker 如何構建我們的映象。

檔案不存在請新建:touch Dockerfile

[email protected]:~$ cat Dockerfile  
FROM    centos:6.7 
MAINTAINER      Fisher "[email protected]" 
RUN     /bin/echo 'root:123456' |chpasswd 
RUN     useradd uos
RUN     /bin/echo 'uos:123456' |chpasswd 
RUN     /bin/echo -e "LANG="en_US.UTF-8"" >/etc/default/local 
EXPOSE  22 
EXPOSE  80 
CMD     /usr/sbin/sshd -D

每一個指令都會在映象上建立一個新的層,每一個指令的字首都必須是大寫的。

第一條FROM,指定使用哪個映象源

RUN 指令告訴docker 在映象內執行命令,安裝了什麼。。。

然後,我們使用 Dockerfile 檔案,通過 docker build 命令來構建一個映象。

[email protected]:~$ docker build -t uos/centos:6.7 .

引數說明:

  • -t  :指定要建立的目標映象名
  • .  :Dockerfile 檔案所在目錄,也可以指定Dockerfile 的絕對路徑

完後可以使用docker images 檢視建立的映象已經在列表中存在。

映象標籤設定

使用 docker tag 命令,為映象新增一個新的標籤。

[email protected]:~$ docker tag e218ed11ee1 zhoubotong/centos:dev

docker tag 映象ID,這裡是 e218ed11ee1,使用者名稱稱、映象源名(repository name)和新的標籤名(tag)。

使用 docker images 命令可以看到,ID為e218ed11ee1的映象多了一個標籤。

[email protected]:~$ docker images
REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
zhoubotong/centos       6.7                 e218ed11ee1        1 hours ago         190.6 MB
zhoubotong/centos       dev                 e218ed11ee1        1 hours ago         190.6 MB

上面大致就介紹這麼多了。