Docker 容器&倉(cāng)庫(kù)

Docker 容器

操作 Docker 容器

容器是 Docker 又一核心概念。

簡(jiǎn)單的說,容器是獨(dú)立運(yùn)行的一個(gè)或一組應(yīng)用偎箫,以及它們的運(yùn)行態(tài)環(huán)境。對(duì)應(yīng)的钧惧,虛擬機(jī)可以理解為模擬運(yùn)行的一整套操作系統(tǒng)(提供了運(yùn)行態(tài)環(huán)境和其他系統(tǒng)環(huán)境)和跑在上面的應(yīng)用。

本章將具體介紹如何來管理一個(gè)容器,包括創(chuàng)建、啟動(dòng)和停止等充岛。

啟動(dòng)容器

啟動(dòng)容器有兩種方式,一種是基于鏡像新建一個(gè)容器并啟動(dòng)批狱,另外一個(gè)是將在終止?fàn)顟B(tài)(stopped)的容器重新啟動(dòng)裸准。

因?yàn)?Docker 的容器實(shí)在太輕量級(jí)了展东,很多時(shí)候用戶都是隨時(shí)刪除和新創(chuàng)建容器赔硫。

新建并啟動(dòng)

所需要的命令主要為docker run

例如盐肃,下面的命令輸出一個(gè) “Hello World”爪膊,之后終止容器权悟。

$ docker run ubuntu:14.04 /bin/echo 'Hello world'
Hello world

這跟在本地直接執(zhí)行/bin/echo 'hello world'幾乎感覺不出任何區(qū)別。

下面的命令則啟動(dòng)一個(gè) bash 終端推盛,允許用戶進(jìn)行交互峦阁。

$ docker run -t -i ubuntu:14.04 /bin/bash
root@af8bae53bdd3:/#

其中,-t選項(xiàng)讓Docker分配一個(gè)偽終端(pseudo-tty)并綁定到容器的標(biāo)準(zhǔn)輸入上耘成,-i則讓容器的標(biāo)準(zhǔn)輸入保持打開榔昔。

在交互模式下,用戶可以通過所創(chuàng)建的終端來輸入命令瘪菌,例如

root@af8bae53bdd3:/# pwd
/
root@af8bae53bdd3:/# ls
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var

當(dāng)利用docker run來創(chuàng)建容器時(shí)撒会,Docker 在后臺(tái)運(yùn)行的標(biāo)準(zhǔn)操作包括:

  • 檢查本地是否存在指定的鏡像,不存在就從公有倉(cāng)庫(kù)下載
  • 利用鏡像創(chuàng)建并啟動(dòng)一個(gè)容器
  • 分配一個(gè)文件系統(tǒng)师妙,并在只讀的鏡像層外面掛載一層可讀寫層
  • 從宿主主機(jī)配置的網(wǎng)橋接口中橋接一個(gè)虛擬接口到容器中去
  • 從地址池配置一個(gè) ip 地址給容器
  • 執(zhí)行用戶指定的應(yīng)用程序
  • 執(zhí)行完畢后容器被終止

啟動(dòng)已終止容器

可以利用docker container start命令诵肛,直接將一個(gè)已經(jīng)終止的容器啟動(dòng)運(yùn)行。

容器的核心為所執(zhí)行的應(yīng)用程序默穴,所需要的資源都是應(yīng)用程序運(yùn)行所必需的怔檩。除此之外,并沒有其它的資源蓄诽⊙ρ担可以在偽終端中利用pstop來查看進(jìn)程信息。

root@ba267838cc1b:/# ps
  PID TTY          TIME CMD
    1         00:00:00 bash
   11         00:00:00 ps

可見仑氛,容器中僅運(yùn)行了指定的 bash 應(yīng)用许蓖。這種特點(diǎn)使得 Docker 對(duì)資源的利用率極高,是貨真價(jià)實(shí)的輕量級(jí)虛擬化调衰。

守護(hù)態(tài)運(yùn)行

概述

更多的時(shí)候膊爪,需要讓 Docker 在后臺(tái)運(yùn)行而不是直接把執(zhí)行命令的結(jié)果輸出在當(dāng)前宿主機(jī)下。此時(shí)嚎莉,可以通過添加-d參數(shù)來實(shí)現(xiàn)米酬。

下面舉兩個(gè)例子來說明一下。

如果不使用-d參數(shù)運(yùn)行容器趋箩。

$ docker run ubuntu:17.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"
hello world
hello world
hello world
hello world

容器會(huì)把輸出的結(jié)果 (STDOUT) 打印到宿主機(jī)上面

如果使用了-d參數(shù)運(yùn)行容器赃额。

$ docker run -d ubuntu:17.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"
77b2dc01fe0f3f1265df143181e7b9af5e05279a884f4776ee75350ea9d8017a

此時(shí)容器會(huì)在后臺(tái)運(yùn)行并不會(huì)把輸出的結(jié)果 (STDOUT) 打印到宿主機(jī)上面(輸出結(jié)果可以用docker logs查看)。

注:容器是否會(huì)長(zhǎng)久運(yùn)行叫确,是和docker run指定的命令有關(guān)跳芳,和-d參數(shù)無關(guān)。

使用-d參數(shù)啟動(dòng)后會(huì)返回一個(gè)唯一的 id竹勉,也可以通過docker container ls命令來查看容器信息飞盆。

$ docker container ls
CONTAINER ID  IMAGE         COMMAND               CREATED        STATUS       PORTS NAMES
77b2dc01fe0f  ubuntu:17.10  /bin/sh -c 'while tr  2 minutes ago  Up 1 minute        agitated_wright

要獲取容器的輸出信息,可以通過docker container logs命令。

$ docker container logs [container ID or NAMES]
hello world
hello world
hello world
. . .

終止容器

可以使用docker container stop來終止一個(gè)運(yùn)行中的容器吓歇。

此外孽水,當(dāng) Docker 容器中指定的應(yīng)用終結(jié)時(shí),容器也自動(dòng)終止城看。

例如對(duì)于上一章節(jié)中只啟動(dòng)了一個(gè)終端的容器女气,用戶通過exit命令或Ctrl+d來退出終端時(shí),所創(chuàng)建的容器立刻終止测柠。

終止?fàn)顟B(tài)的容器可以用docker container ls -a命令看到炼鞠。例如

docker container ls -a
CONTAINER ID        IMAGE                    COMMAND                CREATED             STATUS                          PORTS               NAMES
ba267838cc1b        ubuntu:14.04             "/bin/bash"            30 minutes ago      Exited (0) About a minute ago                       trusting_newton
98e5efa7d997        training/webapp:latest   "python app.py"        About an hour ago   Exited (0) 34 minutes ago                           backstabbing_pike

處于終止?fàn)顟B(tài)的容器,可以通過docker container start命令來重新啟動(dòng)轰胁。

此外簇搅,docker container restart命令會(huì)將一個(gè)運(yùn)行態(tài)的容器終止,然后再重新啟動(dòng)它软吐。

進(jìn)入容器

在使用-d參數(shù)時(shí)瘩将,容器啟動(dòng)后會(huì)進(jìn)入后臺(tái)。

某些時(shí)候需要進(jìn)入容器進(jìn)行操作凹耙,包括使用docker attach命令或docker exec命令姿现,推薦大家使用docker exec命令,原因會(huì)在下面說明肖抱。

attach命令

docker attach是 Docker 自帶的命令备典。下面示例如何使用該命令。

$ docker run -dit ubuntu
243c32535da7d142fb0e6df616a3c3ada0b8ab417937c853a9e1c251f499f550

$ docker container ls
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
243c32535da7        ubuntu:latest       "/bin/bash"         18 seconds ago      Up 17 seconds                           nostalgic_hypatia

$ docker attach 243c
root@243c32535da7:/#

注意:如果從這個(gè) stdin 中 exit意述,會(huì)導(dǎo)致容器的停止提佣。

exec命令

-i -t 參數(shù)

docker exec后邊可以跟多個(gè)參數(shù),這里主要說明-i -t參數(shù)荤崇。

只用-i參數(shù)時(shí)拌屏,由于沒有分配偽終端,界面沒有我們熟悉的 Linux 命令提示符术荤,但命令執(zhí)行結(jié)果仍然可以返回倚喂。

當(dāng)-i -t參數(shù)一起使用時(shí),則可以看到我們熟悉的 Linux 命令提示符瓣戚。

$ docker run -dit ubuntu
69d137adef7a8a689cbcb059e94da5489d3cddd240ff675c640c8d96e84fe1f6

$ docker container ls
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
69d137adef7a        ubuntu:latest       "/bin/bash"         18 seconds ago      Up 17 seconds                           zealous_swirles

$ docker exec -i 69d1 bash
ls
bin
boot
dev
...

$ docker exec -it 69d1 bash
root@69d137adef7a:/#

如果從這個(gè) stdin 中 exit端圈,不會(huì)導(dǎo)致容器的停止。這就是為什么推薦大家使用docker exec的原因子库。

更多參數(shù)說明請(qǐng)使用docker exec --help查看舱权。

訪問 Docker 倉(cāng)庫(kù)

倉(cāng)庫(kù)(Repository)是集中存放鏡像的地方。

一個(gè)容易混淆的概念是注冊(cè)服務(wù)器(Registry)仑嗅。實(shí)際上注冊(cè)服務(wù)器是管理倉(cāng)庫(kù)的具體服務(wù)器宴倍,每個(gè)服務(wù)器上可以有多個(gè)倉(cāng)庫(kù)张症,而每個(gè)倉(cāng)庫(kù)下面有多個(gè)鏡像。從這方面來說啊楚,倉(cāng)庫(kù)可以被認(rèn)為是一個(gè)具體的項(xiàng)目或目錄。例如對(duì)于倉(cāng)庫(kù)地址dl.dockerpool.com/ubuntu來說浑彰,dl.dockerpool.com是注冊(cè)服務(wù)器地址恭理,ubuntu是倉(cāng)庫(kù)名。

大部分時(shí)候郭变,并不需要嚴(yán)格區(qū)分這兩者的概念颜价。

Docker Hub

目前 Docker 官方維護(hù)了一個(gè)公共倉(cāng)庫(kù) Docker Hub,其中已經(jīng)包括了數(shù)量超過 15,000 的鏡像诉濒。大部分需求都可以通過在 Docker Hub 中直接下載鏡像來實(shí)現(xiàn)周伦。

注冊(cè)

你可以在 https://cloud.docker.com 免費(fèi)注冊(cè)一個(gè) Docker 賬號(hào)。

登錄

可以通過執(zhí)行docker login命令交互式的輸入用戶名及密碼來完成在命令行界面登錄 Docker Hub未荒。

你可以通過docker logout退出登錄专挪。

拉取鏡像

你可以通過docker search命令來查找官方倉(cāng)庫(kù)中的鏡像,并利用docker pull命令來將它下載到本地片排。

例如以centos為關(guān)鍵詞進(jìn)行搜索:

$ docker search centos
NAME                                            DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
centos                                          The official build of CentOS.                   465       [OK]
tianon/centos                                   CentOS 5 and 6, created using rinse instea...   28
blalor/centos                                   Bare-bones base CentOS 6.5 image                6                    [OK]
saltstack/centos-6-minimal                                                                      6                    [OK]
tutum/centos-6.4                                DEPRECATED. Use tutum/centos:6.4 instead. ...   5                    [OK]

可以看到返回了很多包含關(guān)鍵字的鏡像寨腔,其中包括鏡像名字、描述率寡、收藏?cái)?shù)(表示該鏡像的受關(guān)注程度)迫卢、是否官方創(chuàng)建、是否自動(dòng)創(chuàng)建冶共。

官方的鏡像說明是官方項(xiàng)目組創(chuàng)建和維護(hù)的乾蛤,automated 資源允許用戶驗(yàn)證鏡像的來源和內(nèi)容。

根據(jù)是否是官方提供捅僵,可將鏡像資源分為兩類家卖。

一種是類似centos這樣的鏡像,被稱為基礎(chǔ)鏡像或根鏡像庙楚。這些基礎(chǔ)鏡像由 Docker 公司創(chuàng)建篡九、驗(yàn)證、支持醋奠、提供榛臼。這樣的鏡像往往使用單個(gè)單詞作為名字。

還有一種類型窜司,比如tianon/centos鏡像沛善,它是由 Docker 的用戶創(chuàng)建并維護(hù)的,往往帶有用戶名稱前綴塞祈〗鸬螅可以通過前綴username/來指定使用某個(gè)用戶提供的鏡像,比如 tianon 用戶。

另外尤蛮,在查找的時(shí)候通過--filter=stars=N參數(shù)可以指定僅顯示收藏?cái)?shù)量為N以上的鏡像媳友。

下載官方centos鏡像到本地。

$ docker pull centos
Pulling repository centos
0b443ba03958: Download complete
539c0211cd76: Download complete
511136ea3c5a: Download complete
7064731afe90: Download complete

推送鏡像

用戶也可以在登錄后通過docker push命令來將自己的鏡像推送到 Docker Hub产捞。

以下命令中的username請(qǐng)?zhí)鎿Q為你的 Docker 賬號(hào)用戶名醇锚。

$ docker tag ubuntu:17.10 username/ubuntu:17.10

$ docker image ls

REPOSITORY                                               TAG                    IMAGE ID            CREATED             SIZE
ubuntu                                                   17.10                  275d79972a86        6 days ago          94.6MB
username/ubuntu                                          17.10                  275d79972a86        6 days ago          94.6MB

$ docker push username/ubuntu:17.10

$ docker search username

NAME                      DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
username/ubuntu

自動(dòng)創(chuàng)建

自動(dòng)創(chuàng)建(Automated Builds)功能對(duì)于需要經(jīng)常升級(jí)鏡像內(nèi)程序來說,十分方便坯临。

有時(shí)候焊唬,用戶創(chuàng)建了鏡像,安裝了某個(gè)軟件看靠,如果軟件發(fā)布新版本則需要手動(dòng)更新鏡像赶促。

而自動(dòng)創(chuàng)建允許用戶通過 Docker Hub 指定跟蹤一個(gè)目標(biāo)網(wǎng)站(目前支持 GitHubBitBucket)上的項(xiàng)目,一旦項(xiàng)目發(fā)生新的提交或者創(chuàng)建新的標(biāo)簽(tag)挟炬,Docker Hub 會(huì)自動(dòng)構(gòu)建鏡像并推送到 Docker Hub 中鸥滨。

要配置自動(dòng)創(chuàng)建,包括如下的步驟:

  • 創(chuàng)建并登錄 Docker Hub谤祖,以及目標(biāo)網(wǎng)站爵赵;
  • 在目標(biāo)網(wǎng)站中連接帳戶到 Docker Hub;
  • 在 Docker Hub 中 配置一個(gè)自動(dòng)創(chuàng)建泊脐;
  • 選取一個(gè)目標(biāo)網(wǎng)站中的項(xiàng)目(需要含Dockerfile)和分支空幻;
  • 指定Dockerfile的位置,并提交創(chuàng)建容客。

之后秕铛,可以在 Docker Hub 的 自動(dòng)創(chuàng)建頁(yè)面 中跟蹤每次創(chuàng)建的狀態(tài)。

Docker 私有倉(cāng)庫(kù)

有時(shí)候使用 Docker Hub 這樣的公共倉(cāng)庫(kù)可能不方便缩挑,用戶可以創(chuàng)建一個(gè)本地倉(cāng)庫(kù)供私人使用但两。

本節(jié)介紹如何使用本地倉(cāng)庫(kù)。

docker-registry 是官方提供的工具供置,可以用于構(gòu)建私有的鏡像倉(cāng)庫(kù)谨湘。本文內(nèi)容基于 docker-registry v2.x 版本。

安裝運(yùn)行 docker-registry

容器運(yùn)行

你可以通過獲取官方registry鏡像來運(yùn)行芥丧。

$ docker run -d -p 5000:5000 --restart=always --name registry registry

這將使用官方的registry鏡像來啟動(dòng)私有倉(cāng)庫(kù)紧阔。默認(rèn)情況下,倉(cāng)庫(kù)會(huì)被創(chuàng)建在容器的/var/lib/registry目錄下续担。你可以通過-v參數(shù)來將鏡像文件存放在本地的指定路徑擅耽。例如下面的例子將上傳的鏡像放到本地的/opt/data/registry目錄。

$ docker run -d \
    -p 5000:5000 \
    -v /opt/data/registry:/var/lib/registry \
    registry

在私有倉(cāng)庫(kù)上傳物遇、搜索乖仇、下載鏡像

創(chuàng)建好私有倉(cāng)庫(kù)之后憾儒,就可以使用docker tag來標(biāo)記一個(gè)鏡像,然后推送它到倉(cāng)庫(kù)乃沙。例如私有倉(cāng)庫(kù)地址為127.0.0.1:5000起趾。

先在本機(jī)查看已有的鏡像。

$ docker image ls
REPOSITORY                        TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
ubuntu                            latest              ba5877dc9bec        6 weeks ago         192.7 MB

使用docker tagubuntu:latest這個(gè)鏡像標(biāo)記為127.0.0.1:5000/ubuntu:latest警儒。

格式為docker tag IMAGE[:TAG] [REGISTRY_HOST[:REGISTRY_PORT]/]REPOSITORY[:TAG]训裆。

$ docker tag ubuntu:latest 127.0.0.1:5000/ubuntu:latest
$ docker image ls
REPOSITORY                        TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
ubuntu                            latest              ba5877dc9bec        6 weeks ago         192.7 MB
127.0.0.1:5000/ubuntu:latest      latest              ba5877dc9bec        6 weeks ago         192.7 MB

使用docker push上傳標(biāo)記的鏡像。

$ docker push 127.0.0.1:5000/ubuntu:latest
The push refers to repository [127.0.0.1:5000/ubuntu]
373a30c24545: Pushed
a9148f5200b0: Pushed
cdd3de0940ab: Pushed
fc56279bbb33: Pushed
b38367233d37: Pushed
2aebd096e0e2: Pushed
latest: digest: sha256:fe4277621f10b5026266932ddf760f5a756d2facd505a94d2da12f4f52f71f5a size: 1568

curl查看倉(cāng)庫(kù)中的鏡像冷蚂。

$ curl 127.0.0.1:5000/v2/_catalog
{"repositories":["ubuntu"]}

這里可以看到{"repositories":["ubuntu"]}缭保,表明鏡像已經(jīng)被成功上傳了汛闸。

先刪除已有鏡像蝙茶,再嘗試從私有倉(cāng)庫(kù)中下載這個(gè)鏡像。

$ docker image rm 127.0.0.1:5000/ubuntu:latest

$ docker pull 127.0.0.1:5000/ubuntu:latest
Pulling repository 127.0.0.1:5000/ubuntu:latest
ba5877dc9bec: Download complete
511136ea3c5a: Download complete
9bad880da3d2: Download complete
25f11f5fb0cb: Download complete
ebc34468f71d: Download complete
2318d26665ef: Download complete

$ docker image ls
REPOSITORY                         TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
127.0.0.1:5000/ubuntu:latest       latest              ba5877dc9bec        6 weeks ago         192.7 MB

注意事項(xiàng)

如果你不想使用127.0.0.1:5000作為倉(cāng)庫(kù)地址诸老,比如想讓本網(wǎng)段的其他主機(jī)也能把鏡像推送到私有倉(cāng)庫(kù)隆夯。你就得把例如192.168.199.100:5000這樣的內(nèi)網(wǎng)地址作為私有倉(cāng)庫(kù)地址,這時(shí)你會(huì)發(fā)現(xiàn)無法成功推送鏡像别伏。

這是因?yàn)?Docker 默認(rèn)不允許非HTTPS方式推送鏡像蹄衷。我們可以通過 Docker 的配置選項(xiàng)來取消這個(gè)限制,或者查看下一節(jié)配置能夠通過HTTPS訪問的私有倉(cāng)庫(kù)厘肮。

Ubuntu 14.04, Debian 7 Wheezy

對(duì)于使用upstart的系統(tǒng)而言愧口,編輯/etc/default/docker文件,在其中的DOCKER_OPTS中增加如下內(nèi)容:

DOCKER_OPTS="--registry-mirror=https://registry.docker-cn.com --insecure-registries=192.168.199.100:5000"

重新啟動(dòng)服務(wù)类茂。

$ sudo service docker restart

Ubuntu 16.04+, Debian 8+, centos 7

對(duì)于使用systemd的系統(tǒng)耍属,請(qǐng)?jiān)?code>/etc/docker/daemon.json中寫入如下內(nèi)容(如果文件不存在請(qǐng)新建該文件)

{
  "registry-mirrors": [
    "https://registry.docker-cn.com"
  ],
  "insecure-registries": [
    "192.168.199.100:5000"
  ]
}

注意:該文件必須符合json規(guī)范,否則 Docker 將不能啟動(dòng)巩检。

其他

對(duì)于 Docker for Windows 厚骗、 Docker for Mac 在設(shè)置中編輯daemon.json增加和上邊一樣的字符串即可。

數(shù)據(jù)卷

概述

數(shù)據(jù)卷是一個(gè)可供一個(gè)或多個(gè)容器使用的特殊目錄兢哭,它繞過 UFS领舰,可以提供很多有用的特性:

  • 數(shù)據(jù)卷可以在容器之間共享和重用
  • 對(duì)數(shù)據(jù)卷的修改會(huì)立馬生效
  • 對(duì)數(shù)據(jù)卷的更新,不會(huì)影響鏡像
  • 數(shù)據(jù)卷默認(rèn)會(huì)一直存在迟螺,即使容器被刪除

注意:數(shù)據(jù)卷的使用冲秽,類似于 Linux 下對(duì)目錄或文件進(jìn)行 mount,鏡像中的被指定為掛載點(diǎn)的目錄中的文件會(huì)隱藏掉矩父,能顯示看的是掛載的數(shù)據(jù)卷劳跃。

選擇 -v 還是 -–mount 參數(shù)

Docker 新用戶應(yīng)該選擇--mount參數(shù),經(jīng)驗(yàn)豐富的 Docker 使用者對(duì)-v或者--volume已經(jīng)很熟悉了浙垫,但是推薦使用--mount參數(shù)刨仑。

創(chuàng)建一個(gè)數(shù)據(jù)卷

$ docker volume create my-vol

查看所有的數(shù)據(jù)卷

$ docker volume ls
local               my-vol

在主機(jī)里使用以下命令可以查看指定數(shù)據(jù)卷的信息

$ docker volume inspect my-vol
[
    {
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/my-vol/_data",
        "Name": "my-vol",
        "Options": {},
        "Scope": "local"
    }
]

啟動(dòng)一個(gè)掛載數(shù)據(jù)卷的容器

在用docker run命令的時(shí)候郑诺,使用--mount標(biāo)記來將數(shù)據(jù)卷掛載到容器里。在一次docker run中可以掛載多個(gè)數(shù)據(jù)卷杉武。

下面創(chuàng)建一個(gè)名為web的容器辙诞,并加載一個(gè)數(shù)據(jù)卷到容器的/webapp目錄。

$ docker run -d -P \
    --name web \
    # -v my-vol:/wepapp \
    --mount source=my-vol,target=/webapp \
    training/webapp \
    python app.py

查看數(shù)據(jù)卷的具體信息

在主機(jī)里使用以下命令可以查看web容器的信息

$ docker inspect web

數(shù)據(jù)卷信息在 "Mounts" Key 下面

"Mounts": [
    {
        "Type": "volume",
        "Name": "my-vol",
        "Source": "/var/lib/docker/volumes/my-vol/_data",
        "Destination": "/app",
        "Driver": "local",
        "Mode": "",
        "RW": true,
        "Propagation": ""
    }
],

刪除數(shù)據(jù)卷

$ docker volume rm my-vol

數(shù)據(jù)卷 是被設(shè)計(jì)用來持久化數(shù)據(jù)的轻抱,它的生命周期獨(dú)立于容器飞涂,Docker 不會(huì)在容器被刪除后自動(dòng)刪除 數(shù)據(jù)卷,并且也不存在垃圾回收這樣的機(jī)制來處理沒有任何容器引用的 數(shù)據(jù)卷祈搜。如果需要在刪除容器的同時(shí)移除數(shù)據(jù)卷较店。可以在刪除容器的時(shí)候使用 docker rm -v 這個(gè)命令容燕。

無主的數(shù)據(jù)卷可能會(huì)占據(jù)很多空間梁呈,要清理請(qǐng)使用以下命令

$ docker volume prune
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市蘸秘,隨后出現(xiàn)的幾起案子官卡,更是在濱河造成了極大的恐慌,老刑警劉巖醋虏,帶你破解...
    沈念sama閱讀 211,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件寻咒,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡颈嚼,警方通過查閱死者的電腦和手機(jī)毛秘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來阻课,“玉大人叫挟,你說我怎么就攤上這事「屉龋” “怎么了霞揉?”我有些...
    開封第一講書人閱讀 157,435評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)晰骑。 經(jīng)常有香客問我适秩,道長(zhǎng),這世上最難降的妖魔是什么硕舆? 我笑而不...
    開封第一講書人閱讀 56,509評(píng)論 1 284
  • 正文 為了忘掉前任秽荞,我火速辦了婚禮,結(jié)果婚禮上抚官,老公的妹妹穿的比我還像新娘扬跋。我一直安慰自己,他們只是感情好凌节,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,611評(píng)論 6 386
  • 文/花漫 我一把揭開白布钦听。 她就那樣靜靜地躺著洒试,像睡著了一般。 火紅的嫁衣襯著肌膚如雪朴上。 梳的紋絲不亂的頭發(fā)上垒棋,一...
    開封第一講書人閱讀 49,837評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音痪宰,去河邊找鬼叼架。 笑死,一個(gè)胖子當(dāng)著我的面吹牛衣撬,可吹牛的內(nèi)容都是我干的乖订。 我是一名探鬼主播,決...
    沈念sama閱讀 38,987評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼具练,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼乍构!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起靠粪,我...
    開封第一講書人閱讀 37,730評(píng)論 0 267
  • 序言:老撾萬榮一對(duì)情侶失蹤蜡吧,失蹤者是張志新(化名)和其女友劉穎毫蚓,沒想到半個(gè)月后占键,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,194評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡元潘,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,525評(píng)論 2 327
  • 正文 我和宋清朗相戀三年畔乙,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片翩概。...
    茶點(diǎn)故事閱讀 38,664評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡牲距,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出钥庇,到底是詐尸還是另有隱情牍鞠,我是刑警寧澤,帶...
    沈念sama閱讀 34,334評(píng)論 4 330
  • 正文 年R本政府宣布评姨,位于F島的核電站难述,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏吐句。R本人自食惡果不足惜胁后,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,944評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望嗦枢。 院中可真熱鬧攀芯,春花似錦、人聲如沸文虏。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,764評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至年鸳,卻和暖如春剃氧,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背阻星。 一陣腳步聲響...
    開封第一講書人閱讀 31,997評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工朋鞍, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人妥箕。 一個(gè)月前我還...
    沈念sama閱讀 46,389評(píng)論 2 360
  • 正文 我出身青樓滥酥,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親畦幢。 傳聞我的和親對(duì)象是個(gè)殘疾皇子坎吻,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,554評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容