Docker 容器命令

2021-10-06 15:54:40 字數 3736 閱讀 5388

前面了解完了docker的原理以及一些基礎知識,這次就來進行實踐操作

列出本地映象

docker images
repository:表示映象的倉庫源

tag:映象的標籤

image id:映象id

created:映象建立時間

size:映象大小

同一倉庫源可以有多個tag,代表這個倉庫源的不同個版本,使用repository:tag來定義不同的映象。預設使用***:latest映象

#列出本地所有的映象(含中間映像層)

docker images -a

#只顯示映象id

docker images -q

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

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

搜尋映象
docker search 映象名稱
選項說明:

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

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

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

docker pull 映象名稱[

刪除映象

docker rmi -f 映象名稱[

:tag]

#注:如果後面不加本版號,刪除的是最新版本的

#刪除多個

docker rmi -f 映象名1

:tag 映象名2

:tag

#刪除全部

新建並啟動容器

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

列出當前正在執行的所有容器
docker ps[options]

#options說明

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

#加-f強制刪除

一次刪除多個容器

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 run -d centos /bin/sh -c "while true;do echo lemon;sleep 2;done"
這樣的命令便可以在後台模式下啟動乙個容器 ,有乙個前台程序。

檢視容器日誌

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

#引數說明:

-t 加入時間戳

-f 跟隨最新的日誌列印

--tail 數字顯示最後多少條

重新進入容器並以命令列互動
#進入互動介面

docker attach 容器id

#進入互動介面

docker exec -it 容器id /bin/bash

#直接執行命令

docker exec -it 容器id ls -l /tmp

容器內的檔案拷貝到主機上

docker cp 容器id:容器內路徑 目的主機路徑

docker容器命令

1.docker run it name container name repository tag image id bin bash 互動方式啟動docker容器 例如docker run it name mycentos centos 7 bin bash 2.docker run d nam...

docker容器命令

這樣就建立了乙個新的centos容器了。那如果退出呢?通過exit命令就可以退出了 docker run di name 容器名稱 映象名稱 標籤 這個時候我們建立成功了,但是現在還是在本地,還沒有進入到centos容器中,但我們檢視的時候,發現容器已經是在執行了 那我們怎麼進入到這個centos容...

docker容器命令

1.新建並啟動容器 docker run options image command arg options 2.列出執行的容器 docker ps options options 3.啟動容器 docker start 容器id或者容器名 4.重啟容器 docker restart 容器id或者容...