国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

#筆記#Docker命令大全

發(fā)布時(shí)間:2022-06-06 09:28 來(lái)源:主機評測 閱讀:91 作者:網(wǎng)絡(luò ) 欄目: 主機資訊

Docker 客戶(hù)端

docker 客戶(hù)端非常簡(jiǎn)單 ,我們可以直接輸入 docker 命令來(lái)查看到 Docker 客戶(hù)端的所有命令選項。

1
< span class = "pln" > runoob @ runoob < / span > < span class = "pun" > : ~ #</span><span class="pln"> docker</span>

可以通過(guò)命令 docker command --help 更深入的了解指定的 Docker 命令使用方法。

例如我們要查看 docker stats 指令的具體使用方法:

1
< span class = "pln" > runoob @ runoob < / span > < span class = "pun" > : ~ #</span><span class="pln"> docker stats </span><span class="pun">--</span><span class="pln">help</span>


容器使用

獲取鏡像

如果我們本地沒(méi)有 ubuntu 鏡像,我們可以使用 docker pull 命令來(lái)載入 ubuntu 鏡像:

1
< span class = "pln" > $ docker pull ubuntu < / span >

啟動(dòng)容器

以下命令使用 ubuntu 鏡像啟動(dòng)一個(gè)容器,參數為以命令行模式進(jìn)入該容器:

1
< span class = "pln" > $ docker run < / span > < span class = "pun" > - < / span > < span class = "pln" > it ubuntu < / span > < span class = "pun" > / < / span > < span class = "pln" > bin < / span > < span class = "pun" > / < / span > < span class = "pln" > bash < / span >

參數說(shuō)明:

  • -i: 交互式操作。
  • -t: 終端。
  • ubuntu: ubuntu 鏡像。
  • /bin/bash:放在鏡像名后的是命令,這里我們希望有個(gè)交互式 Shell,因此用的是 /bin/bash。

要退出終端,直接輸入 exit:

1
< span class = "pln" > root @ ed09e4490c57 < / span > < span class = "pun" > : / #</span> <span class="kwd">exit</span>

啟動(dòng)已停止運行的容器

查看所有的容器命令如下:

1
< span class = "pln" > $ docker ps < / span > < span class = "pun" > - < / span > < span class = "pln" > a < / span >

點(diǎn)擊圖片查看大圖:

使用 docker start 啟動(dòng)一個(gè)已停止的容器:

1
< span class = "pln" > $ docker start b750bbbcfd88 < / span >

后臺運行

在大部分的場(chǎng)景下,我們希望 docker 的服務(wù)是在后臺運行的,我們可以過(guò) -d 指定容器的運行模式。

1
< span class = "pln" > $ docker run < / span > < span class = "pun" > - < / span > < span class = "pln" > itd < / span > < span class = "pun" > -- < / span > < span class = "pln" > name ubuntu < / span > < span class = "pun" > - < / span > < span class = "pln" > test ubuntu < / span > < span class = "pun" > / < / span > < span class = "pln" > bin < / span > < span class = "pun" > / < / span > < span class = "pln" > bash < / span >

點(diǎn)擊圖片查看大圖:

注:加了 -d 參數默認不會(huì )進(jìn)入容器,想要進(jìn)入容器需要使用指令 docker exec(下面會(huì )介紹到)。

停止一個(gè)容器

停止容器的命令如下:

1
< span class = "pln" > $ docker stop < / span > < span class = "pun" > & lt ;容器 < / span > < span class = "pln" > ID < / span > < span class = "pun" > & gt ; < / span >

停止的容器可以通過(guò) docker restart 重啟:

1
< span class = "pln" > $ docker restart < / span > < span class = "pun" > & lt ;容器 < / span > < span class = "pln" > ID < / span > < span class = "pun" > & gt ; < / span >

進(jìn)入容器

在使用 -d 參數時(shí),容器啟動(dòng)后會(huì )進(jìn)入后臺。此時(shí)想要進(jìn)入容器,可以通過(guò)以下指令進(jìn)入:

  • docker attach
  • docker exec:推薦大家使用 docker exec 命令,因為此退出容器終端,不會(huì )導致容器的停止。

attach 命令

下面演示了使用 docker attach 命令。

1
< span class = "pln" > $ docker attach < / span > < span class = "lit" > 1e560fca3906 < / span >

注意: 如果從這個(gè)容器退出,會(huì )導致容器的停止。

exec 命令

下面演示了使用 docker exec 命令。

1
< span class = "pln" > docker < / span > < span class = "kwd" > exec < / span > < span class = "pun" > - < / span > < span class = "pln" > it < / span > < span class = "lit" > 243c32535da7 < / span > < span class = "pun" > / < / span > < span class = "pln" > bin < / span > < span class = "pun" > / < / span > < span class = "pln" > bash < / span >

注意: 如果從這個(gè)容器退出,容器不會(huì )停止,這就是為什么推薦大家使用 docker exec 的原因。

更多參數說(shuō)明請使用 docker exec --help 命令查看。

導出和導入容器

導出容器

如果要導出本地某個(gè)容器,可以使用 docker export 命令。

1
< span class = "pln" > $ docker < / span > < span class = "kwd" > export < / span > < span class = "lit" > 1e560fca3906 < / span > < span class = "pun" > & gt ; < / span > < span class = "pln" > ubuntu < / span > < span class = "pun" > . < / span > < span class = "pln" > tar < / span >

導出容器 1e560fca3906 快照到本地文件 ubuntu.tar。

這樣將導出容器快照到本地文件。

導入容器快照

可以使用 docker import 從容器快照文件中再導入為鏡像,以下實(shí)例將快照文件 ubuntu.tar 導入到鏡像 test/ubuntu:v1:

1
< span class = "pln" > $ cat docker < / span > < span class = "pun" > / < / span > < span class = "pln" > ubuntu < / span > < span class = "pun" > . < / span > < span class = "pln" > tar < / span > < span class = "pun" > | < / span > < span class = "pln" > docker < / span > < span class = "kwd" > import < / span > < span class = "pun" > - < / span > < span class = "pln" > test < / span > < span class = "pun" > / < / span > < span class = "pln" > ubuntu < / span > < span class = "pun" > : < / span > < span class = "pln" > v1 < / span >

此外,也可以通過(guò)指定 URL 或者某個(gè)目錄來(lái)導入,例如:

1
< span class = "pln" > $ docker < / span > < span class = "kwd" > import < / span > < span class = "pln" > http < / span > < span class = "pun" > : < / span > < span class = "com" > //example.com/exampleimage.tgz example/imagerepo</span>

刪除容器

刪除容器使用 docker rm 命令:

1
< span class = "pln" > $ docker rm < / span > < span class = "pun" > - < / span > < span class = "pln" > f < / span > < span class = "lit" > 1e560fca3906 < / span >

下面的命令可以清理掉所有處于終止狀態(tài)的容器。

$ docker container prune


運行一個(gè) web 應用

前面我們運行的容器并沒(méi)有一些什么特別的用處。

接下來(lái)讓我們嘗試使用 docker 構建一個(gè) web 應用程序。

我們將在docker容器中運行一個(gè) Python Flask 應用來(lái)運行一個(gè)web應用。

1
2
< span class = "pln" > runoob @ runoob < / span > < span class = "pun" > : ~ #</span><span class="pln"> docker pull training</span><span class="pun">/</span><span class="pln">webapp  </span><span class="com"># 載入鏡像</span><span class="pln">
runoob @ runoob < / span > < span class = "pun" > : ~ #</span><span class="pln"> docker run </span><span class="pun">-</span><span class="pln">d </span><span class="pun">-</span><span class="pln">P training</span><span class="pun">/</span><span class="pln">webapp python app</span><span class="pun">.</span><span class="pln">py</span>

參數說(shuō)明:

  • -d:讓容器在后臺運行。
  • -P:將容器內部使用的網(wǎng)絡(luò )端口隨機映射到我們使用的主機上。

查看 WEB 應用容器

使用 docker ps 來(lái)查看我們正在運行的容器:

1
2
3
< span class = "pln" > runoob @ runoob < / span > < span class = "pun" > : ~ #</span><span class="pln">  docker ps
CONTAINER ID         IMAGE               COMMAND              < / span > < span class = "pun" > . . . < / span > < span class = "pln" >          PORTS                
d3d5e39ed9d3         training < / span > < span class = "pun" > / < / span > < span class = "pln" > webapp      < / span > < span class = "str" > "python app.py" < / span >      < span class = "pun" > . . . < / span >          < span class = "lit" > 0.0 < / span > < span class = "pun" > . < / span > < span class = "lit" > 0.0 < / span > < span class = "pun" > : < / span > < span class = "lit" > 32769 < / span > < span class = "pun" > - & gt ; < / span > < span class = "lit" > 5000 < / span > < span class = "pun" > / < / span > < span class = "pln" > tcp < / span >

這里多了端口信息。

1
2
< span class = "pln" > PORTS
< / span > < span class = "lit" > 0.0 < / span > < span class = "pun" > . < / span > < span class = "lit" > 0.0 < / span > < span class = "pun" > : < / span > < span class = "lit" > 32769 < / span > < span class = "pun" > - & gt ; < / span > < span class = "lit" > 5000 < / span > < span class = "pun" > / < / span > < span class = "pln" > tcp < / span >

Docker 開(kāi)放了 5000 端口(默認 Python Flask 端口)映射到主機端口 32769 上。

這時(shí)我們可以通過(guò)瀏覽器訪(fǎng)問(wèn)WEB應用

我們也可以通過(guò) -p 參數來(lái)設置不一樣的端口:

1
< span class = "pln" > runoob @ runoob < / span > < span class = "pun" > : ~ < / span > < span class = "pln" > $ docker run < / span > < span class = "pun" > - < / span > < span class = "pln" > d < / span > < span class = "pun" > - < / span > < span class = "pln" > p < / span > < span class = "lit" > 5000 < / span > < span class = "pun" > : < / span > < span class = "lit" > 5000 < / span > < span class = "pln" > training < / span > < span class = "pun" > / < / span > < span class = "pln" > webapp python app < / span > < span class = "pun" > . < / span > < span class = "pln" > py < / span >

docker ps查看正在運行的容器

1
2
3
4
< span class = "pln" > runoob @ runoob < / span > < span class = "pun" > : ~ #</span><span class="pln">  docker ps
CONTAINER ID         IMAGE                             PORTS                     NAMES
bf08b7f2cd89         training < / span > < span class = "pun" > / < / span > < span class = "pln" > webapp      < / span > < span class = "pun" > . . . < / span >          < span class = "lit" > 0.0 < / span > < span class = "pun" > . < / span > < span class = "lit" > 0.0 < / span > < span class = "pun" > : < / span > < span class = "lit" > 5000 < / span > < span class = "pun" > - & gt ; < / span > < span class = "lit" > 5000 < / span > < span class = "pun" > / < / span > < span class = "pln" > tcp     wizardly_chandrasekhar
d3d5e39ed9d3         training < / span > < span class = "pun" > / < / span > < span class = "pln" > webapp      < / span > < span class = "pun" > . . . < / span >          < span class = "lit" > 0.0 < / span > < span class = "pun" > . < / span > < span class = "lit" > 0.0 < / span > < span class = "pun" > : < / span > < span class = "lit" > 32769 < / span > < span class = "pun" > - & gt ; < / span > < span class = "lit" > 5000 < / span > < span class = "pun" > / < / span > < span class = "pln" > tcp   xenodochial_hoov < / span >

容器內部的 5000 端口映射到我們本地主機的 5000 端口上。


網(wǎng)絡(luò )端口的快捷方式

通過(guò) docker ps 命令可以查看到容器的端口映射,docker 還提供了另一個(gè)快捷方式 docker port,使用 docker port 可以查看指定 (ID 或者名字)容器的某個(gè)確定端口映射到宿主機的端口號。

上面我們創(chuàng )建的 web 應用容器 ID 為 bf08b7f2cd89 名字為 wizardly_chandrasekhar。

我可以使用 docker port bf08b7f2cd89 或 docker port wizardly_chandrasekhar 來(lái)查看容器端口的映射情況。

1
2
< span class = "pln" > runoob @ runoob < / span > < span class = "pun" > : ~ < / span > < span class = "pln" > $ docker port bf08b7f2cd89
< / span > < span class = "lit" > 5000 < / span > < span class = "pun" > / < / span > < span class = "pln" > tcp < / span > < span class = "pun" > - & gt ; < / span > < span class = "lit" > 0.0 < / span > < span class = "pun" > . < / span > < span class = "lit" > 0.0 < / span > < span class = "pun" > : < / span > < span class = "lit" > 5000 < / span >

1
2
< span class = "pln" > runoob @ runoob < / span > < span class = "pun" > : ~ < / span > < span class = "pln" > $ docker port wizardly_chandrasekhar
< / span > < span class = "lit" > 5000 < / span > < span class = "pun" > / < / span > < span class = "pln" > tcp < / span > < span class = "pun" > - & gt ; < / span > < span class = "lit" > 0.0 < / span > < span class = "pun" > . < / span > < span class = "lit" > 0.0 < / span > < span class = "pun" > : < / span > < span class = "lit" > 5000 < / span >


查看 WEB 應用程序日志

docker logs [ID或者名字] 可以查看容器內部的標準輸出。

1
2
3
4
< span class = "pln" > runoob @ runoob < / span > < span class = "pun" > : ~ < / span > < span class = "pln" > $ docker logs < / span > < span class = "pun" > - < / span > < span class = "pln" > f bf08b7f2cd89
< / span > < span class = "pun" > * < / span > < span class = "typ" > Running < / span > < span class = "pln" > on http < / span > < span class = "pun" > : < / span > < span class = "com" > //0.0.0.0:5000/ (Press CTRL C to quit)</span>
< span class = "lit" > 192.168 < / span > < span class = "pun" > . < / span > < span class = "lit" > 239.1 < / span > < span class = "pun" > - < / span > < span class = "pun" > - < / span > < span class = "pun" > [ < / span > < span class = "lit" > 09 < / span > < span class = "pun" > / < / span > < span class = "typ" > May < / span > < span class = "pun" > / < / span > < span class = "lit" > 2016 < / span > < span class = "lit" > 16 < / span > < span class = "pun" > : < / span > < span class = "lit" > 30 < / span > < span class = "pun" > : < / span > < span class = "lit" > 37 < / span > < span class = "pun" > ] < / span > < span class = "str" > "GET / HTTP/1.1" < / span > < span class = "lit" > 200 < / span > < span class = "pun" > - < / span >
< span class = "lit" > 192.168 < / span > < span class = "pun" > . < / span > < span class = "lit" > 239.1 < / span > < span class = "pun" > - < / span > < span class = "pun" > - < / span > < span class = "pun" > [ < / span > < span class = "lit" > 09 < / span > < span class = "pun" > / < / span > < span class = "typ" > May < / span > < span class = "pun" > / < / span > < span class = "lit" > 2016 < / span > < span class = "lit" > 16 < / span > < span class = "pun" > : < / span > < span class = "lit" > 30 < / span > < span class = "pun" > : < / span > < span class = "lit" > 37 < / span > < span class = "pun" > ] < / span > < span class = "str" > "GET /favicon.ico HTTP/1.1" < / span > < span class = "lit" > 404 < / span > < span class = "pun" > - < / span >

-f: 讓 docker logs 像使用 tail -f 一樣來(lái)輸出容器內部的標準輸出。

從上面,我們可以看到應用程序使用的是 5000 端口并且能夠查看到應用程序的訪(fǎng)問(wèn)日志。


查看WEB應用程序容器的進(jìn)程

我們還可以使用 docker top 來(lái)查看容器內部運行的進(jìn)程

1
2
3
< span class = "pln" > runoob @ runoob < / span > < span class = "pun" > : ~ < / span > < span class = "pln" > $ docker top wizardly_chandrasekhar
UID     PID         PPID            < / span > < span class = "pun" > . . . < / span > < span class = "pln" >        TIME                 CMD
root      < / span > < span class = "lit" > 23245 < / span >        < span class = "lit" > 23228 < / span >          < span class = "pun" > . . . < / span >        < span class = "lit" > 00 < / span > < span class = "pun" > : < / span > < span class = "lit" > 00 < / span > < span class = "pun" > : < / span > < span class = "lit" > 00 < / span > < span class = "pln" >              python app < / span > < span class = "pun" > . < / span > < span class = "pln" > py < / span >


檢查 WEB 應用程序

使用 docker inspect 來(lái)查看 Docker 的底層信息。它會(huì )返回一個(gè) JSON 文件記錄著(zhù) Docker 容器的配置和狀態(tài)信息。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
< span class = "pln" > runoob @ runoob < / span > < span class = "pun" > : ~ < / span > < span class = "pln" > $ docker inspect wizardly_chandrasekhar
< / span > < span class = "pun" > [ < / span >
     < span class = "pun" > { < / span >
         < span class = "str" > "Id" < / span > < span class = "pun" > : < / span > < span class = "str" > "bf08b7f2cd897b5964943134aa6d373e355c286db9b9885b1f60b6e8f82b2b85" < / span > < span class = "pun" > , < / span >
         < span class = "str" > "Created" < / span > < span class = "pun" > : < / span > < span class = "str" > "2018-09-17T01:41:26.174228707Z" < / span > < span class = "pun" > , < / span >
         < span class = "str" > "Path" < / span > < span class = "pun" > : < / span > < span class = "str" > "python" < / span > < span class = "pun" > , < / span >
         < span class = "str" > "Args" < / span > < span class = "pun" > : < / span > < span class = "pun" > [ < / span >
             < span class = "str" > "app.py" < / span >
         < span class = "pun" > ] , < / span >
         < span class = "str" > "State" < / span > < span class = "pun" > : < / span > < span class = "pun" > { < / span >
             < span class = "str" > "Status" < / span > < span class = "pun" > : < / span > < span class = "str" > "running" < / span > < span class = "pun" > , < / span >
             < span class = "str" > "Running" < / span > < span class = "pun" > : < / span > < span class = "kwd" > true < / span > < span class = "pun" > , < / span >
             < span class = "str" > "Paused" < / span > < span class = "pun" > : < / span > < span class = "kwd" > false < / span > < span class = "pun" > , < / span >
             < span class = "str" > "Restarting" < / span > < span class = "pun" > : < / span > < span class = "kwd" > false < / span > < span class = "pun" > , < / span >
             < span class = "str" > "OOMKilled" < / span > < span class = "pun" > : < / span > < span class = "kwd" > false < / span > < span class = "pun" > , < / span >
             < span class = "str" > "Dead" < / span > < span class = "pun" > : < / span > < span class = "kwd" > false < / span > < span class = "pun" > , < / span >
             < span class = "str" > "Pid" < / span > < span class = "pun" > : < / span > < span class = "lit" > 23245 < / span > < span class = "pun" > , < / span >
             < span class = "str" > "ExitCode" < / span > < span class = "pun" > : < / span > < span class = "lit" > 0 < / span > < span class = "pun" > , < / span >
             < span class = "str" > "Error" < / span > < span class = "pun" > : < / span > < span class = "str" > "" < / span > < span class = "pun" > , < / span >
             < span class = "str" > "StartedAt" < / span > < span class = "pun" > : < / span > < span class = "str" > "2018-09-17T01:41:26.494185806Z" < / span > < span class = "pun" > , < / span >
             < span class = "str" > "FinishedAt" < / span > < span class = "pun" > : < / span > < span class = "str" > "0001-01-01T00:00:00Z" < / span >
         < span class = "pun" > } , < / span >
< span class = "pun" > . . . . . . < / span >


停止 WEB 應用容器

1
2
< span class = "pln" > runoob @ runoob < / span > < span class = "pun" > : ~ < / span > < span class = "pln" > $ docker stop wizardly_chandrasekhar  
wizardly_chandrasekhar < / span >


重啟WEB應用容器

已經(jīng)停止的容器,我們可以使用命令 docker start 來(lái)啟動(dòng)。

1
2
< span class = "pln" > runoob @ runoob < / span > < span class = "pun" > : ~ < / span > < span class = "pln" > $ docker start wizardly_chandrasekhar
wizardly_chandrasekhar < / span >

docker ps -l 查詢(xún)最后一次創(chuàng )建的容器:

1
2
3
< span class = "com" > #  docker ps -l </span><span class="pln">
CONTAINER ID         IMAGE                             PORTS                     NAMES
bf08b7f2cd89         training < / span > < span class = "pun" > / < / span > < span class = "pln" > webapp      < / span > < span class = "pun" > . . . < / span >          < span class = "lit" > 0.0 < / span > < span class = "pun" > . < / span > < span class = "lit" > 0.0 < / span > < span class = "pun" > : < / span > < span class = "lit" > 5000 < / span > < span class = "pun" > - & gt ; < / span > < span class = "lit" > 5000 < / span > < span class = "pun" > / < / span > < span class = "pln" > tcp     wizardly_chandrasekhar < / span >

正在運行的容器,我們可以使用 docker restart 命令來(lái)重啟。


移除WEB應用容器

我們可以使用 docker rm 命令來(lái)刪除不需要的容器

1
2
< span class = "pln" > runoob @ runoob < / span > < span class = "pun" > : ~ < / span > < span class = "pln" > $ docker rm wizardly_chandrasekhar  
wizardly_chandrasekhar < / span >

刪除容器時(shí),容器必須是停止狀態(tài),否則會(huì )報如下錯誤

1
2
< span class = "pln" > runoob @ runoob < / span > < span class = "pun" > : ~ < / span > < span class = "pln" > $ docker rm wizardly_chandrasekhar
< / span > < span class = "typ" > Error < / span > < span class = "pln" > response < / span > < span class = "kwd" > from < / span > < span class = "pln" > daemon < / span > < span class = "pun" > : < / span > < span class = "typ" > You < / span > < span class = "pln" > cannot remove a running container bf08b7f2cd897b5964943134aa6d373e355c286db9b9885b1f60b6e8f82b2b85 < / span > < span class = "pun" > . < / span > < span class = "typ" > Stop < / span > < span class = "pln" > the container before attempting removal < / span > < span class = "kwd" > or < / span > < span class = "pln" > force remove < / span >

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系QQ:712375056。

香蕉蕉亚亚洲AAV综合| 久久久久亚洲AV成人网人人软件| 女同性另类一区二区三区视频| 白嫩无码人妻丰满熟妇啪啪区百度| 免费A级毛片无码免费视频| 亚洲国产精品久久精品成人网站|