2.2. image映象
2.3.docker容器
3.docker映象製作
關於命令的引數說明,詳見:docker manual
notice:
下面介紹到的命令中containerid如果不特殊說明,一般都可以用containename來代替
$ docker version
$ docker info # 或者
docker 是伺服器----客戶端架構。命令列執行docker命令的時候,需要本機有 docker 服務。如果這項服務沒有啟動,可以用下面的命令啟動(官方文件)。
$ sudo
service docker start #service 命令的用法
$ sudo systemctl start docker #systemctl 命令的用法
docker 把應用程式及其依賴,打包在 image 檔案(靜態映象)裡面。只有通過這個檔案,才能生成 docker 容器(動態例項)。image 檔案可以看作是容器的模板。docker 根據 image 檔案生成容器的例項。同乙個 image 檔案,可以生成多個同時執行的容器例項。
$ docker image pull library/hello-world
上面**中,docker image pull是抓取 image 檔案的命令。library/hello-world是 image 檔案在倉庫裡面的位置,其中library是 image 檔案所在的組,hello-world是 image 檔案的名字。
由於 docker 官方提供的 image 檔案,都放在library組裡面,所以它的是預設組,可以省略。因此,上面的命令可以寫成下面這樣。
$ docker image pull hello-world
$ docker image ls
# 列出本機的所有 image 檔案。
$ docker images #作用同上
$ docker image rm
[imagename]
# 刪除 image 檔案
$ docker rmi [imagename]
#同上
docker container run
命令會從 image 檔案,生成乙個正在執行的容器例項。
注意,docker container run
命令具有自動抓取 image 檔案的功能。如果發現本地沒有指定的 image 檔案,就會從倉庫自動抓取。因此,前面的docker image pull
命令並不是必需的步驟。
注意:執行時候可以設定相關執行引數,例如如下樣例:檢視容器列表
docker container run -p 8000:3000 -it koa-demo:0.0.1 /bin/bash
其中:
$ docker ps
#檢視所有正在執行容器
$ docker container ls
#同上$ docker ps -a #檢視所有容器,包括未執行的
進入正在執行容器docker container exec
命令用於進入乙個正在執行的 docker 容器。如果docker run命令執行容器的時候,沒有使用-it引數(-it
引數作用如上樣例所述),就要用這個命令進入容器。一旦進入了容器,就可以在容器的 shell 執行命令了。
$ docker container exec -it [containerid] /bin/bash
docker container logs命令用來檢視 docker 容器的輸出,即容器裡面 shell 的標準輸出。如果docker run命令執行容器的時候,沒有使用-it引數,就要用這個命令檢視輸出。
$ docker container logs [containerid]
有些容器不會自動終止,因為提供的是服務。比如,安裝執行 ubuntu 的 image,就可以在命令列體驗 ubuntu 系統。
對於那些不會自動終止的容器,必須使用docker container kill 命令手動終止。
$ docker container kill
[containid]
$ docker container stop [containerid]
前面的前面的docker container kill
命令終止容器執行,相當於向容器裡面的主程序發出 sigkill 訊號。而docker container stop
命令也是用來終止容器執行,相當於向容器裡面的主程序發出 sigterm 訊號,然後過一段時間再發出 sigkill 訊號。這兩個訊號的差別是,應用程式收到 sigterm 訊號以後,可以自行進行收尾清理工作,但也可以不理會這個訊號。如果收到 sigkill 訊號,就會強行立即終止,那些正在進行中的操作會全部丟失。
docker container run
命令是新建容器,每執行一次,就會新建乙個容器。同樣的命令執行兩次,就會生成兩個一模一樣的容器檔案。如果希望重複使用容器,就要使用docker container start
命令,它用來啟動已經生成、已經停止執行的容器檔案。
docker container start [containerid]
#docker container start
image 檔案生成的容器例項,本身也是乙個檔案,稱為容器檔案。也就是說,一旦容器生成,就會同時存在兩個檔案: image 檔案和容器檔案。而且關閉容器並不會刪除容器檔案,只是容器停止執行而已。
$ docker container ls
# 列出本機正在執行的容器
$ docker container ls --all # 列出本機所有容器,包括終止執行的容器
$ docker container rm
[containerid]
#終止執行的容器檔案,依然會佔據硬碟空間,可以使用docker container rm命令刪除。
拷貝docker container cp
命令用於從正在執行的 docker 容器裡面,將檔案拷貝到本機。下面是拷貝到當前目錄的寫法。
$ docker container cp
[containid]:[/path/to/file]
.
SQL Server 常用集錦
1 設定表結構某列的值,為固定排序後的行號值的sql語句示例 from select stationnum,stationname,row number over order by stationnum as rowid 2 查詢表在資料庫中,其他表中的外來鍵 select from sys.for...
Docker 清理命令集錦
殺死所有正在執行的容器 複製 如下 docker kill docker ps a q 刪除所有已經停止的容器 複製 如下 docker rm docker ps a q 刪除所有未打 dangling 標籤的映象 複製 如下 docker rmi docker images q f danglin...
Docker 清理命令集錦
殺死所有正在執行的容器 如下 docker kill docker ps a q 刪除所有已經停止的容器 如下 docker rm docker ps a q 刪除所有未打 dangling 標籤的映象 如下 docker rmi docker images q f dangling true 刪除...