docker常用命令

2021-09-03 10:00:32 字數 4021 閱讀 1522

檢視docker版本:

docker version

通過倉庫查詢乙個名叫tutorial的映象:

docker search tutorial

docker pull learn/tutorial(使用者名稱/映象名)

4、利用映象啟動乙個容器同時在容器中執行echo命令輸出「hello word」:

docker run learn/tutorial echohello word

5、在容器中安裝ping命令(在容器的可寫層在做讀寫操作):

docker run learn/tutorial apt-get install -y ping

6、檢視有哪些容器:

docker ps [-a] [-l]

-a:列出所有的容器

-l:列出最新建立的乙個容器

:無引數返回正在執行的容器

7、將剛才修改的容器提交(相當於建立乙個新的映象):

docker commit 容器的唯一編號 learn/renboping(給新建立映象起的名字)

返回新的映象的id

9、檢視正在執行中的容器:

docker inspect 容器id

10、檢視有哪些映象:

docker images

11、將剛才建立的新的映象儲存在docker hub倉庫中:

docker push learn/renboping

12、自定義容器名稱。

docker  run  --name=自定義名 -i  -t  image /bin/bash

13、重新啟動和停止已經建立的容器。

啟動:docker start [-i] 容器名稱

-i:以互動式的方式重新啟動容器。

14、刪除已經停止的容器:

docker rm 容器名稱

docker stop

先來說說

docker stop

吧,當我們用

docker stop

命令來停掉容器的時候,docker缺省會允許容器中的應用程式有10秒的時間用以終止執行。所以我們檢視

docker stop ?

1 23 4

5 6→ docker stop --help

usage: docker stop [options] container [container...]

stop one or

more

running containers

options:

--help  print usage

-t, --

time

int seconds to waitfor

stop before killing it (default 10) 在

docker stop

命令執行的時候,會先向容器中pid為1的程序傳送系統訊號sigterm,然後等待容器中的應用程式終止執行,如果等待時間達到設定的超時時間,或者預設的10秒,會繼續傳送sigkill的系統訊號強行kill掉程序。在容器中的應用程式,可以選擇忽略和不處理sigterm訊號,不過一旦達到超時時間,程式就會被系統強行kill掉,因為sigkill訊號是直接發往系統核心的,應用程式沒有機會去處理它。在使用

docker stop

命令的時候,我們唯一能控制的是超時時間,比如設定為20秒超時: ?

1 docker stop --

time

=20 container_name

docker kill

接著我們來看看

docker kill

命令,預設情況下,

docker kill

命令不會給容器中的應用程式有任何gracefully shutdown的機會。它會直接發出sigkill的系統訊號,以強行終止容器中程式的執行。通過檢視

docker kill

命令的幫助,我們可以看到,除了預設傳送sigkill訊號外,還允許我們傳送一些自定義的系統訊號: ?

1 23 4

5 6→ docker

kill

--help

usage: docker

kill

[options] container [container...]

kill one or

more

running containers

options:

--help   print usage

-s, --signal string signal to send to the container (default

"kill")

比如,如果我們想向docker中的程式傳送sigint訊號,我們可以這樣來實現: ?

1 docker

kill

--signal=sigint container_name

與docker stop命令不一樣的地方在於,

docker kill

沒有任何的超時時間設定,它會直接傳送sigkill訊號,以及使用者通過signal引數指定的其他訊號。

其實不難看出,docker stop命令,更類似於linux系統中的kill命令,二者都是傳送系統訊號sigterm。而

docker kill

命令,更像是linux系統中的kill -9或者是kill -sigkill命令,用來傳送sigkill訊號,強行終止程序。

守護式容器:

什麼是守護式容器

1、能夠長期執行

2、沒有互動式會話

3、適合執行應用程式和服務

如何以守護的形式執行容器呢?

docker run -i -t image /bin/bash

ctrl+p  ctrl+q  -> 退出互動式容器的bash,則容器會在後台執行。

docker attach 容器id/名稱  -> 重新進入轉入後台執行的容器。  

如何直接利用run命令啟動乙個守護式容器

docker run -d 映象名稱[command][arg...]

檢視容器執行的日誌

docker logs [-f][-t][--tail] 容器名

-f --follows=true | false 預設為false:一直跟蹤日誌的變化並返回結果

-t --timestamps=true | false預設為false:在返回的結果上加上時間戳

--tail=」all」:返回結尾處多少數量的日誌數,如果不指定那麼logs會返回所有的日誌。

docker logs doc3 檢視已經產生的全部日誌

docker logs -tf -tail=0 doc3 顯示最新的一條日誌變化,並且有時間戳

檢視容器中的程序

docker top 容器名

如何在執行中的容器中啟動新的程序

docker exec [-d][-i][-d] 容器名 [command][arg]

如何停止守護式容器

docker stop 容器名

docker kill 容器名

docker常用命令 Docker 常用命令筆錄

格式docker run 選項 映象 命令 引數.示例docker run it rm ubuntu 16.04 bash 示例解釋 it 這是兩個引數,乙個是 i,表示互動式操作,乙個是 t表示終端 rm 這個引數是說容器退出後隨之將其刪除 ubuntu 16.04 這是指用ubuntu 16.0...

docker常用命令

1.刪除已退出的容器 docker rm docker ps a q 2.強制刪除所有容器 docker rm f docker ps a 3.docker attach 進不去的時候可以用docker exec it containerid bin bash docker run it ubunt...

docker常用命令

docker常用命令 1.進入docker容器 sudo docker run it insaneworks centos bin bash 使用ctrl p或者ctrl q可以進入和退出容器 2.拉去乙個映象 docker pull insaneworks centos 檢視所有的映象 docke...