docker常用集錦

2021-10-01 15:23:11 字數 3586 閱讀 7373

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 刪除...