docker容器命令

2022-06-06 02:15:10 字數 3245 閱讀 4727

docker run [options] image [command] [args]

options說明(常用),有的是乙個減號,有的是兩個減號

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

-d: 後台執行容器,並返回容器id,也即啟動守護式容器

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

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

-p: 隨機埠對映

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

ip:hostporst:containerport

ip::containerport

hostport:containerport

containerport

示例

啟動互動式容器

docker run -it --name 'mycentos'

docker ps [options]

options說明(常用):

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

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

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

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

--no-trunc:不截斷輸出

docker start 容器id或容器名

適用範圍

已經新建過,執行了,

停止之後,使用docker ps -l

或者使用docker ps -a

查詢出停止的容器

然後使用查詢出來的容器id或者容器名字

進行重新啟動

docker restart 容器id或者容器名

重啟後會返回容器id

適用範圍

已經新建過,正在執行,

使用docker ps -l

或者使用docker ps -a

查詢出執行的容器

然後使用查詢出來的容器id或者容器名字

進行重新啟動

docker stop 容器id或者容器名

停止後會返回容器id

使用場景

相當於電腦關機流程
docker kill 容器id或者容器名

停止後會返回容器id

使用場景

相當於電腦,直接拔電源
刪除單個容器

docker rm 容器id 刪除單個容器

docker rm -f 容器id 強制刪除單個容器

刪除多個容器

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

docker ps -a -q | xargs docker rm

docker run -d 容器名

詳解

不會產生互動,

不會切換到新的容器

問題

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 hello zzyy;sleep 2;done"

意思

啟動守護式容器centos

並且在前台每隔兩秒列印一次hello zzyy

這樣前台有程序,就不會導致自殺

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

引數詳解

-t 加入時間戳

-f 跟隨最新的日誌列印

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

docker top 容器id

使用場景

已經執行了乙個容器

此時使用這個命令檢視在容器執行的程序

docker inspect 容器id

docker attach 容器id

使用場景

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

會直接切換到容器裡面

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

使用場景

不進入容器裡面,

但是能獲取到命令 ls -l /tmp的內容

docker exec -t 容器id /bin/bash

使用場景

會直接切換到容器裡面
docker cp 容器id:容器內路徑 目的主機路徑

使用

docker cp 10b9ajsdk:/tmp/yum.log /root

將容器10b9ajsdk路徑tmp下的yum.log拷貝到主機的root下面

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或者容...