1. 程式人生 > 其它 >docker常規操作——啟動、停止、重啟容器例項

docker常規操作——啟動、停止、重啟容器例項

一、啟動一個已經停止的容器例項

docker start 容器ID或容器名,建議使用容器ID,容器ID支援模糊查詢而容器名稱不支援
1. 先檢視已經暫停的容器例項資訊
2. 通過docker start 067啟動容器
3. 通過docker ps 檢視當前啟動的容器
具體操作如下圖

 

docker start 還有兩個引數
-it:以 互動模式啟動  

 sudo docker run -it  -p 8009:80  apinetcoredocker:1.0.0

-p 8009:80指將外部訪問8009對映到內部的80埠,apinetcoredocker:1.0.0指映象名稱

因為是互動模式所以當前會話不支援繼續輸入命令工作,如果想看主機上的其他資訊,可以考慮重新開啟一個會話 


-d:以 附加程序方式啟動  

 sudo docker run -d  -p 8009:80  apinetcoredocker:1.0.0

-d引數指用附加程序方式啟動容器,上面的方法如不指定容器名稱,系統會預設建立,如需要指定容器名稱,新增--name 引數

sudo docker run -d  -p 8009:80  --name testcore apinetcoredocker:1.0.0

執行命令介面

測試結果頁面

 

進入docker容器裡面,本人環境為ubuntu環境

 sudo docker exec -it 067 /bin/bash

  067指的是容器ID前3位,這裡是模糊查詢

執行後會顯示/app#,這時我們通過curl 127.0.0.1:80/api/values ,檢視顯示執行是否正常,退出直接輸入exit

二、停止一個正在執行的容器
1、docker stop 此方式常常被翻譯為優雅的停止容器

docker stop 容器ID或容器名
引數 -t:關閉容器的限時,如果超時未能關閉則用kill強制關閉,預設值10s,這個時間用於容器的自己儲存狀態
docker stop -t=60 容器ID或容器名

2、docker kill

docker kill 容器ID或容器名 :直接關閉容器

由此可見stop和kill的主要區別:stop給與一定的關閉時間交由容器自己儲存狀態,kill直接關閉容器
想更進一步瞭解處理機制的可以看下面這篇文章,比較詳細但是需要其他方面的
https://www.jb51.net/article/96617.htm

三、重啟一個容器

docker restart 容器ID或容器名 :不管容器是否啟動,直接重啟容器
1. 首先 docker ps 檢視正在執行的容器資訊,顯示2分鐘前啟動執行
2. docker restart 59ec 重啟容器
3. 再次 docker ps 檢視容器資訊 顯示 2秒前啟動執行

docker restart 引數
-t:關閉容器的限時,如果超時未能關閉則用kill強制關閉,預設值10s,這個時間用於容器的自己儲存狀態