<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          【Docker】命令使用大全

          共 10887字,需瀏覽 22分鐘

           ·

          2020-08-12 15:16

          簡(jiǎn)述

          容器的出現(xiàn)是為了解決環(huán)境配置的問(wèn)題,虛擬機(jī)是一種解決方案,但是也有一些缺點(diǎn),再后來(lái)出現(xiàn)了 Linux 容器,Docker 屬于 Linux 容器的一種封裝,提供簡(jiǎn)單易用的容器使用接口。它是目前最流行的 Linux 容器解決方案。

          Docker 的主要用途

          • 提供一次性的環(huán)境。比如,本地測(cè)試他人的軟件、持續(xù)集成的時(shí)候提供單元測(cè)試和構(gòu)建的環(huán)境。
          • 提供彈性的云服務(wù)。因?yàn)?Docker 容器可以隨開(kāi)隨關(guān),很適合動(dòng)態(tài)擴(kuò)容和縮容。
          • 組建微服務(wù)架構(gòu)。通過(guò)多個(gè)容器,一臺(tái)機(jī)器可以跑多個(gè)服務(wù),因此在本機(jī)就可以模擬出微服務(wù)架構(gòu)。

          基本概念

          引用自:https://www.zhihu.com/topic/19950993/top-answers

          • 鏡像(Image):類(lèi)似于虛擬機(jī)中的鏡像,是一個(gè)包含有文件系統(tǒng)的面向 Docker 引擎的只讀模板。任何應(yīng)用程序運(yùn)行都需要環(huán)境,而鏡像就是用來(lái)提供這種運(yùn)行環(huán)境的。例如一個(gè) Ubuntu 鏡像就是一個(gè)包含 Ubuntu 操作系統(tǒng)環(huán)境的模板,同理在該鏡像上裝上 Apache 軟件,就可以稱(chēng)為 Apache 鏡像。
          • 容器(Container):類(lèi)似于一個(gè)輕量級(jí)的沙盒,可以將其看作一個(gè)極簡(jiǎn)的 Linux 系統(tǒng)環(huán)境(包括 root 權(quán)限、進(jìn)程空間、用戶空間和網(wǎng)絡(luò)空間等),以及運(yùn)行在其中的應(yīng)用程序。Docker 引擎利用容器來(lái)運(yùn)行、隔離各個(gè)應(yīng)用。容器是鏡像創(chuàng)建的應(yīng)用實(shí)例,可以創(chuàng)建、啟動(dòng)、停止、刪除容器,各個(gè)容器之間是是相互隔離的,互不影響。注意:鏡像本身是只讀的,容器從鏡像啟動(dòng)時(shí),Docker 在鏡像的上層創(chuàng)建一個(gè)可寫(xiě)層,鏡像本身不變。
          • 倉(cāng)庫(kù)(Repository):類(lèi)似于代碼倉(cāng)庫(kù),這里是鏡像倉(cāng)庫(kù),是 Docker 用來(lái)集中存放鏡像文件的地方。注意與注冊(cè)服務(wù)器(Registry)的區(qū)別:注冊(cè)服務(wù)器是存放倉(cāng)庫(kù)的地方,一般會(huì)有多個(gè)倉(cāng)庫(kù);而倉(cāng)庫(kù)是存放鏡像的地方,一般每個(gè)倉(cāng)庫(kù)存放一類(lèi)鏡像,每個(gè)鏡像利用 tag 進(jìn)行區(qū)分,比如 Ubuntu 倉(cāng)庫(kù)存放有多個(gè)版本(12.04、14.04 等)的 Ubuntu 鏡像。

          以下介紹 Docker 基本的命令及其使用

          容器周期管理

          run

          docker run:創(chuàng)建一個(gè)新的容器并運(yùn)行一個(gè)命令

          docker?run?[OPTIONS]?IMAGE?[COMMAND]?[ARG...]

          OPTIONS 說(shuō)明:

          • -a stdin: 指定標(biāo)準(zhǔn)輸入輸出內(nèi)容類(lèi)型,可選 STDIN/STDOUT/STDERR 三項(xiàng);

          • -d: 后臺(tái)運(yùn)行容器,并返回容器 ID;

          • -i: 以交互模式運(yùn)行容器,通常與 -t 同時(shí)使用;

          • -P: 隨機(jī)端口映射,容器內(nèi)部端口隨機(jī)映射到主機(jī)的端口

          • -p: 指定端口映射,格式為:主機(jī) (宿主) 端口:容器端口

          • -t: 為容器重新分配一個(gè)偽輸入終端,通常與 -i 同時(shí)使用;

          • --name="nginx-lb": 為容器指定一個(gè)名稱(chēng);

          • --dns 8.8.8.8: 指定容器使用的 DNS 服務(wù)器,默認(rèn)和宿主一致;

          • --dns-search example.com: 指定容器 DNS 搜索域名,默認(rèn)和宿主一致;

          • -h "mars": 指定容器的 hostname;

          • -e username="ritchie": 設(shè)置環(huán)境變量;

          • --env-file=[]: 從指定文件讀入環(huán)境變量;

          • --cpuset="0-2" or --cpuset="0,1,2": 綁定容器到指定 CPU 運(yùn)行;

          • -m : 設(shè)置容器使用內(nèi)存最大值;

          • --net="bridge": 指定容器的網(wǎng)絡(luò)連接類(lèi)型,支持 bridge/host/none/container: 四種類(lèi)型;

          • --link=[]: 添加鏈接到另一個(gè)容器;

          • --expose=[]: 開(kāi)放一個(gè)端口或一組端口;

          • --volume , -v 綁定一個(gè)卷

          使用 docker 鏡像 nginx:latest 以后臺(tái)模式啟動(dòng)一個(gè)容器,并將容器命名為 mynginx。

          docker?run?--name?mynginx?-d?nginx:latest

          使用鏡像 nginx:latest 以后臺(tái)模式啟動(dòng)一個(gè)容器,并將容器的 80 端口映射到主機(jī)隨機(jī)端口。

          docker?run?-P?-d?nginx:latest

          使用鏡像 nginx:latest,以后臺(tái)模式啟動(dòng)一個(gè)容器,將容器的 80 端口映射到主機(jī)的 80 端口,主機(jī)的目錄 /data 映射到容器的 /data。

          docker?run?-p?80:80?-v?/data:/data?-d?nginx:latest

          綁定容器的 8080 端口,并將其映射到本地主機(jī) 127.0.0.1 的 80 端口上。

          docker?run?-p?127.0.0.1:80:8080/tcp?ubuntu?bash

          使用鏡像 nginx:latest 以交互模式啟動(dòng)一個(gè)容器,在容器內(nèi)執(zhí)行 /bin/bash 命令。

          docker?run?-it?nginx:latest?/bin/bash

          start/stop/restart

          docker?start?[OPTIONS]?CONTAINER?[CONTAINER...]
          docker?stop?[OPTIONS]?CONTAINER?[CONTAINER...]
          docker?restart?[OPTIONS]?CONTAINER?[CONTAINER...]

          啟動(dòng)已被停止的容器 myrunoob

          docker?start?myrunoob

          停止運(yùn)行中的容器 myrunoob

          docker?stop?myrunoob

          重啟容器 myrunoob

          docker?restart?myrunoob

          kill

          docker kill : 殺掉一個(gè)運(yùn)行中的容器。

          docker?kill?[OPTIONS]?CONTAINER?[CONTAINER...]

          OPTIONS 說(shuō)明:

          • -s : 向容器發(fā)送一個(gè)信號(hào)

          殺掉運(yùn)行中的容器 mynginx

          docker?kill?-s?KILL?mynginx

          rm

          docker rm:刪除一個(gè)或多個(gè)容器。

          docker?rm?[OPTIONS]?CONTAINER?[CONTAINER...]

          OPTIONS 說(shuō)明:

          • -f : 通過(guò) SIGKILL 信號(hào)強(qiáng)制刪除一個(gè)運(yùn)行中的容器。

          • -l : 移除容器間的網(wǎng)絡(luò)連接,而非容器本身。

          • -v : 刪除與容器關(guān)聯(lián)的卷。

          強(qiáng)制刪除容器 db01、db02:

          docker?rm?-f?db01?db02

          移除容器 nginx01 對(duì)容器 db01 的連接,連接名 db:

          docker?rm?-l?db

          刪除容器 nginx01, 并刪除容器掛載的數(shù)據(jù)卷:

          docker?rm?-v?nginx01

          刪除所有已經(jīng)停止的容器:

          docker?rm?$(docker?ps?-a?-q)

          pause/unpause

          docker pause : 暫停容器中所有的進(jìn)程。docker unpause : 恢復(fù)容器中所有的進(jìn)程。

          docker?pause?[OPTIONS]?CONTAINER?[CONTAINER...]
          docker?unpause?[OPTIONS]?CONTAINER?[CONTAINER...]

          暫停數(shù)據(jù)庫(kù)容器 db01 提供服務(wù)。

          docker?pause?db01

          恢復(fù)數(shù)據(jù)庫(kù)容器 db01 提供服務(wù)。

          docker?unpause?db01

          create

          docker create:創(chuàng)建一個(gè)新的容器但不啟動(dòng)它 用法同 docker run

          docker?create?[OPTIONS]?IMAGE?[COMMAND]?[ARG...]

          語(yǔ)法同 docker run

          使用 docker 鏡像 nginx:latest 創(chuàng)建一個(gè)容器,并將容器命名為 myrunoob

          docker?create??--name?myrunoob??nginx:latest?????
          #?輸出
          09b93464c2f75b7b69f83d56a9cfc23ceb50a48a9db7652ee4c27e3e2cb1961f

          exec

          docker exec :在運(yùn)行的容器中執(zhí)行命令

          docker?exec?[OPTIONS]?CONTAINER?COMMAND?[ARG...]

          OPTIONS 說(shuō)明:

          • -d : 分離模式:在后臺(tái)運(yùn)行

          • -i : 即使沒(méi)有附加也保持 STDIN 打開(kāi)

          • -t : 分配一個(gè)偽終端

          在容器 mynginx 中以交互模式執(zhí)行容器內(nèi) /root/runoob.sh 腳本:

          docker?exec?-it?mynginx?/bin/sh?/root/runoob.sh

          在容器 mynginx 中開(kāi)啟一個(gè)交互模式的終端:

          docker?exec?-i?-t??mynginx?/bin/bash
          root@b1a0703e41e7:/#

          也可以通過(guò) docker ps -a 命令查看已經(jīng)在運(yùn)行的容器,然后使用容器 ID 進(jìn)入容器。 查看已經(jīng)在運(yùn)行的容器 ID:

          docker?ps?-a?
          #?輸出
          ...
          9df70f9a0714????????openjdk?????????????"/usercode/script.sh…"?
          ...

          第一列的 9df70f9a0714 就是容器 ID。 通過(guò) exec 命令對(duì)指定的容器執(zhí)行 bash:

          docker?exec?-it?9df70f9a0714?/bin/bash

          容器操作

          ps

          docker ps : 列出容器

          docker?ps?[OPTIONS]

          OPTIONS 說(shuō)明:

          • -a : 顯示所有的容器,包括未運(yùn)行的。

          • -f : 根據(jù)條件過(guò)濾顯示的內(nèi)容。

          • --format : 指定返回值的模板文件。

          • -l : 顯示最近創(chuàng)建的容器。

          • -n : 列出最近創(chuàng)建的 n 個(gè)容器。

          • --no-trunc : 不截?cái)噍敵觥?/p>

          • -q : 靜默模式,只顯示容器編號(hào)。

          • -s : 顯示總的文件大小。

          列出所有在運(yùn)行的容器信息。

          docker?ps
          #?輸出
          CONTAINER?ID???IMAGE??????????COMMAND????????????????...??PORTS????????????????????NAMES
          09b93464c2f7???nginx:latest???"nginx?-g?'daemon?off"?...??80/tcp,?443/tcp??????????myrunoob
          96f7f14e99ab???mysql:5.6??????"docker-entrypoint.sh"?...??0.0.0.0:3306->3306/tcp???mymysql

          inspect

          docker inspect : 獲取容器 / 鏡像的元數(shù)據(jù)。

          docker?inspect?[OPTIONS]?NAME|ID?[NAME|ID...]

          OPTIONS 說(shuō)明:

          • -f : 指定返回值的模板文件。

          • -s ?: 顯示總的文件大小。

          • --type ?: 為指定類(lèi)型返回 JSON。

          top

          docker top : 查看容器中運(yùn)行的進(jìn)程信息,支持 ps 命令參數(shù)。

          只有在運(yùn)行中的容器才能使用這個(gè)命令

          docker?top?[OPTIONS]?CONTAINER?[ps?OPTIONS]

          容器運(yùn)行時(shí)不一定有 /bin/bash 終端來(lái)交互執(zhí)行 top 命令,而且容器還不一定有 top 命令,可以使用 docker top 來(lái)實(shí)現(xiàn)查看 container 中正在運(yùn)行的進(jìn)程。

          attach

          docker attach : 連接到正在運(yùn)行中的容器。

          events

          docker events : 從服務(wù)器獲取實(shí)時(shí)事件

          docker?events?[OPTIONS]

          OPTIONS 說(shuō)明:

          • -f :根據(jù)條件過(guò)濾事件;

          • --since :從指定的時(shí)間戳后顯示所有事件;

          • --until :流水時(shí)間顯示到指定的時(shí)間為止;

          顯示 docker 鏡像為 python 2016 年 7 月 1 日后的相關(guān)事件。

          docker?events?-f?"image"="python"?--since="1467302400"?

          1467302400 代表時(shí)間戳的意思 在線時(shí)間戳轉(zhuǎn)換工具:https://tool.lu/timestamp/

          logs

          docker logs : 獲取容器的日志

          docker?logs?[OPTIONS]?CONTAINER

          OPTIONS 說(shuō)明:

          • **-f : ** 跟蹤日志輸出

          • --since : 顯示某個(gè)開(kāi)始時(shí)間的所有日志

          • **-t : ** 顯示時(shí)間戳

          • --tail : 僅列出最新 N 條容器日志

          wait

          docker wait : 阻塞運(yùn)行直到容器停止,然后打印出它的退出代碼。

          docker?wait?[OPTIONS]?CONTAINER?[CONTAINER...]

          export

          docker export : 將文件系統(tǒng)作為一個(gè) tar 歸檔文件導(dǎo)出到 STDOUT。

          docker?export?[OPTIONS]?CONTAINER

          OPTIONS 說(shuō)明:

          • -o : 將輸入內(nèi)容寫(xiě)到文件。

          將 id 為 a404c6c174a2 的容器按日期保存為 tar 文件。

          docker?export?-o?mysql-`date?+%Y%m%d`.tar?a404c6c174a2

          port

          docker port : 列出指定的容器的端口映射,或者查找將 PRIVATE_PORT NAT 到面向公眾的端口。

          docker?port?[OPTIONS]?CONTAINER?[PRIVATE_PORT[/PROTO]]

          容器 rootfs 命令

          commit

          docker commit ?: 從容器創(chuàng)建一個(gè)新的鏡像。

          docker?commit?[OPTIONS]?CONTAINER?[REPOSITORY[:TAG]]

          OPTIONS 說(shuō)明:

          • -a : 提交的鏡像作者;

          • -c : 使用 Dockerfile 指令來(lái)創(chuàng)建鏡像;

          • -m : 提交時(shí)的說(shuō)明文字;

          • -p : 在 commit 時(shí),將容器暫停。

          將容器 d1891e47245f 保存為新的鏡像,并添加提交人信息和說(shuō)明信息。

          docker?commit?-a?"Leong"?-m?"python?opencv"?d1891e47245f??leong/python_opencv:v1?

          cp

          docker cp : 用于容器與主機(jī)之間的數(shù)據(jù)拷貝。

          docker?cp?[OPTIONS]?CONTAINER:SRC_PATH?DEST_PATH|-
          docker?cp?[OPTIONS]?SRC_PATH|-?CONTAINER:DEST_PATH

          OPTIONS 說(shuō)明:

          • -L : 保持源目標(biāo)中的鏈接
          docker?cp?/www/runoob?96f7f14e99ab:/www/??#?將主機(jī)?/www/runoob?目錄拷貝到容器?96f7f14e99ab?的?/www?目錄下。

          docker?cp?/www/runoob?96f7f14e99ab:/www???#?將主機(jī)?/www/runoob?目錄拷貝到容器?96f7f14e99ab?中,目錄重命名為?www。

          docker?cp??96f7f14e99ab:/www?/tmp/????????#?將容器?96f7f14e99ab?的?/www?目錄拷貝到主機(jī)的?/tmp?目錄中。

          diff

          **docker diff : ** 檢查容器里文件結(jié)構(gòu)的更改。

          docker?diff?[OPTIONS]?CONTAINER

          查看容器 id 前綴為 d189 的容器的文件結(jié)構(gòu)更改。

          docker?diff?d189

          最前面的一個(gè)字符含義如下:

          1. A - Add
          2. D - Delete
          3. C - Change

          鏡像倉(cāng)庫(kù)

          login/logout

          docker login : 登陸到一個(gè) Docker 鏡像倉(cāng)庫(kù),如果未指定鏡像倉(cāng)庫(kù)地址,默認(rèn)為官方倉(cāng)庫(kù) Docker Hubdocker logout : 登出一個(gè) Docker 鏡像倉(cāng)庫(kù),如果未指定鏡像倉(cāng)庫(kù)地址,默認(rèn)為官方倉(cāng)庫(kù) Docker Hub

          docker?login?[OPTIONS]?[SERVER]
          docker?logout?[OPTIONS]?[SERVER]

          OPTIONS 說(shuō)明:

          • -u : 登陸的用戶名

          • -p : 登陸的密碼

          pull

          **docker pull : ** 從鏡像倉(cāng)庫(kù)中拉取或者更新指定鏡像

          docker?pull?[OPTIONS]?NAME[:TAG|@DIGEST]

          OPTIONS 說(shuō)明:

          • -a : 拉取所有 tagged 鏡像

          • --disable-content-trust : 忽略鏡像的校驗(yàn),默認(rèn)開(kāi)啟

          從 Docker Hub 下載 REPOSITORY 為 java 的所有鏡像。

          docker?pull?-a?java

          push

          docker push : 將本地的鏡像上傳到鏡像倉(cāng)庫(kù),要先登陸到鏡像倉(cāng)庫(kù)

          docker?push?[OPTIONS]?NAME[:TAG]

          OPTIONS 說(shuō)明:

          • --disable-content-trust : 忽略鏡像的校驗(yàn),默認(rèn)開(kāi)啟

          上傳本地鏡像 myapache:v1 到鏡像倉(cāng)庫(kù)中。

          docker?push?myapache:v1

          search

          docker search : 從 Docker Hub 查找鏡像

          docker?search?[OPTIONS]?TERM

          OPTIONS 說(shuō)明:

          • --automated 只列出 automated build 類(lèi)型的鏡像;

          • --no-trunc 顯示完整的鏡像描述;

          • -s 列出收藏?cái)?shù)不小于指定值的鏡像。

          從 Docker Hub 查找所有鏡像名包含 anaconda,并且收藏?cái)?shù)大于 10 的鏡像

          ?docker?search?-s?10?anaconda?

          • NAME 鏡像倉(cāng)庫(kù)源的名稱(chēng)
          • DESCRIPTION 鏡像的描述
          • OFFICIAL 是否 docker 官方發(fā)布
          • stars 類(lèi)似 Github 里面的 star,表示點(diǎn)贊、喜歡的意思。
          • AUTOMATED 自動(dòng)構(gòu)建。

          本地鏡像管理

          images

          docker?images?[OPTIONS]?[REPOSITORY[:TAG]]

          OPTIONS 說(shuō)明:

          • -a : 列出本地所有的鏡像(含中間映像層,默認(rèn)情況下,過(guò)濾掉中間映像層);

          • --digests : 顯示鏡像的摘要信息;

          • -f : 顯示滿足條件的鏡像;

          • --format : 指定返回值的模板文件;

          • --no-trunc : 顯示完整的鏡像信息;

          • -q : 只顯示鏡像 ID。

          rmi/prune

          docker rmi : 刪除本地一個(gè)或多少鏡像。

          docker?rmi?[OPTIONS]?IMAGE?[IMAGE...]

          OPTIONS 說(shuō)明:

          • -f : 強(qiáng)制刪除;

          • --no-prune : 不移除該鏡像的過(guò)程鏡像,默認(rèn)移除;

          prune 命令用來(lái)刪除不再使用的 docker 對(duì)象。 刪除所有未被 tag 標(biāo)記和未被容器使用的鏡像:

          docker?image?prune
          #?輸出
          WARNING!?This?will?remove?all?dangling?images.
          Are?you?sure?you?want?to?continue??[y/N]?y

          刪除所有未被容器使用的鏡像:

          docker?image?prune?-a

          刪除所有停止運(yùn)行的容器:

          docker?container?prune

          刪除所有未被掛載的卷:

          docker?volume?prune

          刪除所有網(wǎng)絡(luò):

          docker?network?prune

          刪除 docker 所有資源:

          docker?system?prune

          tag

          **docker tag : ** 標(biāo)記本地鏡像,將其歸入某一倉(cāng)庫(kù)。

          docker?tag?[OPTIONS]?IMAGE[:TAG]?[REGISTRYHOST/][USERNAME/]NAME[:TAG]

          將鏡像 ubuntu:15.10 標(biāo)記為 runoob/ubuntu:v3 鏡像。

          docker?tag?ubuntu:15.10?runoob/ubuntu:v3
          docker?images???runoob/ubuntu:v3
          #?輸出
          REPOSITORY??????????TAG?????????????????IMAGE?ID????????????CREATED?????????????SIZE
          runoob/ubuntu???????v3??????????????????4e3b13c8a266????????3?months?ago????????136.3?MB

          build

          **docker build ** 命令用于使用 Dockerfile 創(chuàng)建鏡像。

          docker?build?[OPTIONS]?PATH?|?URL?|?-

          OPTIONS 說(shuō)明:

          • --build-arg=[] : 設(shè)置鏡像創(chuàng)建時(shí)的變量;

          • --cpu-shares : 設(shè)置 cpu 使用權(quán)重;

          • --cpu-period : 限制 CPU CFS 周期;

          • --cpu-quota : 限制 CPU CFS 配額;

          • --cpuset-cpus : 指定使用的 CPU id;

          • --cpuset-mems : 指定使用的內(nèi)存 id;

          • --disable-content-trust : 忽略校驗(yàn),默認(rèn)開(kāi)啟;

          • -f : 指定要使用的 Dockerfile 路徑;

          • --force-rm : 設(shè)置鏡像過(guò)程中刪除中間容器;

          • --isolation : 使用容器隔離技術(shù);

          • --label=[] : 設(shè)置鏡像使用的元數(shù)據(jù);

          • -m : 設(shè)置內(nèi)存最大值;

          • --memory-swap : 設(shè)置 Swap 的最大值為內(nèi)存 + swap,"-1" 表示不限 swap;

          • --no-cache : 創(chuàng)建鏡像的過(guò)程不使用緩存;

          • --pull : 嘗試去更新鏡像的新版本;

          • --quiet, -q : 安靜模式,成功后只輸出鏡像 ID;

          • --rm : 設(shè)置鏡像成功后刪除中間容器;

          • --shm-size : 設(shè)置 /dev/shm 的大小,默認(rèn)值是 64M;

          • --ulimit :Ulimit 配置。

          • --tag, -t: 鏡像的名字及標(biāo)簽,通常 name:tag 或者 name 格式;可以在一次構(gòu)建中為一個(gè)鏡像設(shè)置多個(gè)標(biāo)簽。

          • --network: 默認(rèn) default。在構(gòu)建期間設(shè)置 RUN 指令的網(wǎng)絡(luò)模式

          使用當(dāng)前目錄的 Dockerfile 創(chuàng)建鏡像,標(biāo)簽為 runoob/ubuntu:v1。

          docker?build?-t?runoob/ubuntu:v1?.

          使用 URL github.com/creack/docker-firefox 的 Dockerfile 創(chuàng)建鏡像。

          docker?build?github.com/creack/docker-firefox

          也可以通過(guò) -f Dockerfile 文件的位置:

          docker?build?-f?/path/to/a/Dockerfile?.

          在 Docker 守護(hù)進(jìn)程執(zhí)行 Dockerfile 中的指令前,首先會(huì)對(duì) Dockerfile 進(jìn)行語(yǔ)法檢查,有語(yǔ)法錯(cuò)誤時(shí)會(huì)返回:

          docker?build?-t?test/myapp?.
          #?輸出
          Sending?build?context?to?Docker?daemon?2.048?kB
          Error?response?from?daemon:?Unknown?instruction:?RUNCMD

          history

          docker history : 查看指定鏡像的創(chuàng)建歷史。

          docker?history?[OPTIONS]?IMAGE

          OPTIONS 說(shuō)明:

          • -H : 以可讀的格式打印鏡像大小和日期,默認(rèn)為 true;

          • --no-trunc : 顯示完整的提交記錄;

          • -q : 僅列出提交記錄 ID。

          查看本地鏡像 runoob/ubuntu:v3 的創(chuàng)建歷史。

          docker?history?runoob/ubuntu:v3
          #?輸出
          IMAGE?????????????CREATED???????????CREATED?BY??????????????????????????????????????SIZE??????COMMENT
          4e3b13c8a266??????3?months?ago??????/bin/sh?-c?#(nop)?CMD?["/bin/bash"]?????????????0?B?????????????????
          ?????????3?months?ago??????/bin/sh?-c?sed?-i?'s/^#\s*\(deb.*universe\)$/???1.863?kB????????????
          ?????????3?months?ago??????/bin/sh?-c?set?-xe???&&?echo?'
          #!/bin/sh'?>?/u???701?B???????????????
          ?????????3?months?ago??????/bin/sh?-c?#(nop)?ADD?file:43cb048516c6b80f22???136.3?MB

          save

          docker save : 將指定鏡像保存成 tar 歸檔文件。

          docker?save?[OPTIONS]?IMAGE?[IMAGE...]

          OPTIONS 說(shuō)明:

          • -o : 輸出到的文件。

          將鏡像 runoob/ubuntu:v3 生成 my_ubuntu_v3.tar 文檔

          docker?save?-o?my_ubuntu_v3.tar?runoob/ubuntu:v3
          ll?my_ubuntu_v3.tar
          #?輸出
          -rw-------?1?runoob?runoob?142102016?Jul?11?01:37?my_ubuntu_v3.tar

          load

          docker load : 導(dǎo)入使用 docker save 命令導(dǎo)出的鏡像。

          docker?load?[OPTIONS]

          OPTIONS 說(shuō)明:

          • --input , -i : 指定導(dǎo)入的文件,代替 STDIN。

          • --quiet , -q : 精簡(jiǎn)輸出信息。

          導(dǎo)入鏡像:

          docker?image?ls
          #?輸出
          REPOSITORY??????????TAG?????????????????IMAGE?ID????????????CREATED?????????????SIZE

          docker?load?#?輸出
          Loaded?image:?busybox:latest

          docker?images
          #?輸出
          REPOSITORY??????????TAG?????????????????IMAGE?ID????????????CREATED?????????????SIZE
          busybox?????????????latest??????????????769b9341d937????????7?weeks?ago?????????2.489?MB

          docker?load?--input?fedora.tar
          #?輸出
          Loaded?image:?fedora:rawhide
          Loaded?image:?fedora:20

          docker?images
          #?輸出
          REPOSITORY??????????TAG?????????????????IMAGE?ID????????????CREATED?????????????SIZE
          busybox?????????????latest??????????????769b9341d937????????7?weeks?ago?????????2.489?MB
          fedora??????????????rawhide?????????????0d20aec6529d????????7?weeks?ago?????????387?MB
          fedora??????????????20??????????????????58394af37342????????7?weeks?ago?????????385.5?MB
          fedora??????????????heisenbug???????????58394af37342????????7?weeks?ago?????????385.5?MB
          fedora??????????????latest??????????????58394af37342????????7?weeks?ago?????????385.5?MB

          import

          docker import : 從歸檔文件中創(chuàng)建鏡像。

          docker?import?[OPTIONS]?file|URL|-?[REPOSITORY[:TAG]]

          OPTIONS 說(shuō)明:

          • -c : 應(yīng)用 docker 指令創(chuàng)建鏡像;

          • -m : 提交時(shí)的說(shuō)明文字;

          從鏡像歸檔文件 my_ubuntu_v3.tar 創(chuàng)建鏡像,命名為 runoob/ubuntu:v4

          docker?import??my_ubuntu_v3.tar?runoob/ubuntu:v4??
          #?輸出
          sha256:63ce4a6d6bc3fabb95dbd6c561404a309b7bdfc4e21c1d59fe9fe4299cbfea39

          docker?images?runoob/ubuntu:v4
          #?輸出
          REPOSITORY??????????TAG?????????????????IMAGE?ID????????????CREATED?????????????SIZE
          runoob/ubuntu???????v4??????????????????63ce4a6d6bc3????????20?seconds?ago??????142.1?MB

          docker?images?ls?#?列出本地鏡像

          • 啟動(dòng)容器,下面兩句的效果是一樣的

          -d 后臺(tái)運(yùn)行 -i 交互 -t 終端

          docker?run?-d?-i?-t?ubuntu:18.04?/bin/bash
          docker?run?-dit?ubuntu:18.04?/bin/bash

          • 進(jìn)入后臺(tái)容器
          docker?exec?[OPTIONS]?CONTAINER?COMMAND?[ARG...]

          • 刪除 / 清除容器
          docker?container?rm?[OPTIONS]?CONTAINER?[CONTAINER...]?#?刪除容器
          docker?container?prune?#?清理掉停止的容器?

          docker?ps?-a?#?查看所有的容器
          docker?ps?#?查看運(yùn)行著的容器

          docker?container?ls?-a?#?查看終止?fàn)顟B(tài)的容器
          docker?container?start?<容器?ID>/?#?啟動(dòng)一個(gè)容器
          docker?container?stop?<容器?ID>/?#?停止一個(gè)運(yùn)行著的容器


          docker?search?python?#?從?Docker?Hub?查找?python?鏡像?

          docker?pull?python?#?從鏡像倉(cāng)庫(kù)中拉取或者更新指定鏡像?

          docker?container?prune?#?清理掉停止的容器

          docker?rmi?<容器?ID>?#?刪除本地容器?

          docker?tag?[OPTIONS]?IMAGE[:TAG]?[REGISTRYHOST/][USERNAME/]NAME[:TAG]??#?標(biāo)記本地鏡像,將其歸入某一倉(cāng)庫(kù)

          docker 命令的幾對(duì)關(guān)系

          save 和 export

          save 保存的是鏡像,export 保存的是容器

          load 和 import

          load 載入鏡像包,import 載入容器包,但兩者都會(huì)恢復(fù)為鏡像

          load 不能對(duì)載入的進(jìn)行進(jìn)行命名,import 可以?

          如果有更新,會(huì)在下面的文檔進(jìn)行同步~

          喜歡的朋友給個(gè)三連哈~




          機(jī)器視覺(jué) CV

          與你分享 AI 和 CV 的樂(lè)趣

          分享數(shù)據(jù)集、電子書(shū)、免費(fèi)GPU

          長(zhǎng)按二維碼關(guān)注我們

          瀏覽 62
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲精品成人无码AV在线 | IPX-811桃乃木かな无码破解 | 久成人肜视| 亚洲成人黄色电影 | 操我骚逼~好爽麻豆 |