檢視docker版本:
docker version
通過倉庫查詢乙個名叫tutorial的映象:
docker search tutorial
docker pull learn/tutorial(使用者名稱/映象名)
4、利用映象啟動乙個容器同時在容器中執行echo命令輸出「hello word」:
docker run learn/tutorial echo『hello 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...