bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

CHAPTER2Docker鏡像-創新互聯

docker鏡像
    • 2.1 docker image 獲取
      • 2.1.1 命令格式(pull)
      • 2.1.2 層(layer)
      • 2.1.3 鏡像重名
    • 2.2 查看鏡像信息(ls,tag,inspect,history)
      • 2.2.1 使用images命令列出鏡像(ls)
      • 2.2.2 使用tag命令添加鏡像標簽(tag)
      • 2.2.3 使用inspect命令查看詳細信息(inspect)
      • 2.2.4 使用history命令查看鏡像歷史(history)
    • 2.3 搜索鏡像(search)
    • 2.4 刪除和清理鏡像(rmi,prune)
      • 2.4.1 使用標簽刪除鏡像(rmi/rm)
      • 2.4.2 使用鏡像ID來刪除鏡像
      • 2.4.3 清理鏡像(prune)
    • 2.5 *創建鏡像 (commit,import,build)
      • 2.5.1 基于已有容器創建(commit)
      • 2.5.2 基于本地模板導入(import)
      • 2.5.3 基于 Dockerfile 創建(build)
    • 2.6 存出和載入鏡像(save,load)
      • 2.6.1 存出鏡像(save)
      • 2.6.2 載入鏡像(load)
    • 2.7 上傳鏡像(push)
    • 2.8 鏡像命令匯總

鏡像(image)是Docker三大核心概念中最重要的, 自 Docker 誕生之日起鏡像就是相關社區最為熱門的關鍵詞。 Docker 運行容器前需要本地存在對應的鏡像, 如果鏡像不存在, Docker 會嘗試先從默認鏡像倉庫下載(默認使用 DockerHub 公共注冊服務器中的倉庫), 用戶也可以通過配置, 使用自定義的鏡像倉庫。

本章將圍繞鏡像這一核心概念介紹具體操作, 包括:

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名注冊、雅安服務器托管、營銷軟件、網站建設、隴南網站維護、網站推廣。

如何使用pull命令從 Docker Hub 倉庫中下載鏡像到本地;
如何查看本地已有的鏡像信息和管理鏡像標簽;
如何在遠端倉庫使 用 search 命令進行搜索和過濾;
如何刪除鏡像標簽和鏡像文件;
如何創建用戶定制的鏡像并且保存為外部文件。
最后,還將介紹如何往DockerHub倉庫中推送自己的鏡像。

2.1 docker image 獲取

鏡像是運行容器的前提, 官方的 Docker Hub 網站已經提供了數十萬個鏡像供大家開放下載。 可以使用docker [image] pull命令直接從 Docker Hub 鏡像源來下載鏡像。

2.1.1 命令格式(pull)

該命令的格式:

docker [image] pull NAME [ :TAG]

參數:

  • NAME是鏡像倉庫名稱(用來區分鏡像),
  • TAG是鏡像的標簽(往往用來表示版本 信息)。

通常情況下, 描述一個鏡像需要包括 “名稱+標簽“ 信息。

例如, 獲取一個Ubuntu 18.04系統精簡的基礎鏡像可以使用如下的命令:

[root@dbc-server-554 ansible]# docker image pull ubuntu:18.04
18.04: Pulling from library/ubuntu
a055bf07b5b0: Pull complete
Digest: sha256:c1d0baf2425ecef88a2f0c3543ec43690dc16cc80d3c4e593bb95e4f45390e45
Status: Downloaded newer image for ubuntu:18.04
docker.io/library/ubuntu:18.04

對于Docker鏡像來說, 如果不顯式指定TAG, 則默認會選擇latest標簽,這會下載倉庫中最新版本的鏡像,例如

docker pull ubuntu
等價于
docker pull ubuntu:latest

一般來說, 鏡像的latest 標簽意味著該鏡像的內容會跟蹤最新版本的變更而變化,內容是不穩定的。因此,從穩定性上考慮,不要在生產環境中忽略鏡像的標簽信息或使用默認的latest標記的鏡像

2.1.2 層(layer)

下載過程中可以看出 ,鏡像文件一般由若干層(layer)組成 ,a055bf07b5b0這樣的字符串是層的唯一id(實際上完整的id包括256比特,64個十六進制字符組成)。使用docker pull命令下載中會獲取并輸出鏡像的各層信息。當不同的鏡像包括相同的層時,本地僅存儲了層的 一份內容,減小了存儲空間。

2.1.3 鏡像重名

讀者可能會想到, 在不同的鏡像倉庫服務器的情況下,可能會出現鏡像重名的情況。 嚴格地講,鏡像的倉庫名稱中還應該添加倉庫地址(即registry, 注冊服務器)作為前綴,只是默認使用的是官方DockerHub服務 ,該前綴可以忽略。 例如,
docker pull ubuntu:18.04相當于docker pull registory.hub. docker.com/ubuntu:18.04
即從默認的注冊服務器DcoekrHub Registry中的 ubuntu 倉庫來下載標記為18.04的鏡像。

如果從非官方的倉庫下載,則 需要在倉庫 名稱前指定完整的倉庫地址。例如從網易蜂巢的鏡像源來下載ubuntu:18.04鏡像,可以使用如下命令,此時下載的鏡像名稱為hub. c.163.com/public/ubuntu:18.04

$ docker pull hub.c.163.com/public/ubuntu:18.04 pull

子命令支持的選項主要包括:

  • -a, --all-tags=true/false:是否獲取倉庫中的所有鏡像,默認為否;
  • –disable-content-trust:取消鏡像的內容校驗,默認為真。
  • –regisotry-mirror=proxy_URL 使用鏡像代理服務來加速Docker鏡像獲取過程,來指定鏡像代理服務地址(如https:// registry.docker-en.com)

嘗試運行鏡像

[root@dbc-server-554 ansible]# docker run -it ubuntu:18.04 bash
root@69c9479cfafd:/# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
2.2 查看鏡像信息(ls,tag,inspect,history) 2.2.1 使用images命令列出鏡像(ls)

使用docker images或docker image ls 命令可以列出本地主機上已有鏡像的基本信息。格式:

docker images [ls]

例如, 下面的命令列出了上一小節中下載的鏡像信息:

[root@dbc-server-554 ansible]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED      SIZE
ubuntu       18.04     e28a50f651f9   7 days ago   63.1MB

在列出信息中, 可以看到幾個字段信息:

  • REPOSITORY 來自于哪個倉庫, 比如ubuntu表示ubuntu系列的基礎鏡像;
  • TAG 鏡像的標記信息, 比如 18.04、 latest表示不同的版本信息。 標簽只是標記, 并不能標識鏡像內容;
  • IMAGE ID 鏡像的ID(唯一標識鏡像),如果兩個鏡像的ID相同,說明它們實際上指向了同一 個鏡像, 只是具有不同標簽名稱而已;
  • CREATED 創建時間, 說明鏡像最后的更新時間;
  • SIZE 鏡像大小, 優秀的鏡像往往體積都較小。

其中鏡像的ID信息十分重要, 它唯一標識了鏡像。在使用鏡像ID的時候, 一般可以使 用該ID的前若干個字符組成的可區分串來替代完整的ID。
TAG 信息用于標記來自同一個倉庫的不同鏡像。 例如ubuntu 倉庫中有多個鏡像, 通過 TAG 信息來區分發行版本, 如18.04、 18.10 等。
鏡像大小信息只是表示了該鏡像的邏輯體積大小, 實際上由于相同的鏡像層本地只會存儲一份, 物理上占用的存儲空間會小于各鏡像邏輯體積之和。

images子命令主要支持如下選項, 用戶可以自行進行嘗試:

  • -a, --all=true/false: 列出所有(包括臨時文件)鏡像文件,默認為否;
  • –digests=true/false: 列出鏡像的數字摘要值,默認為否;
  • -f, --filter=[] : 過濾列出的鏡像,如dangling =true 只顯示沒有被使用的鏡像;也可指定帶有特定標注的鏡像等;
  • –format=“TEMPLATE” : 控制輸出格式,如. ID代表ID信息,.Repository 代表倉庫信息等;
  • –no-trunc=true/false: 對輸出結果中太長的部分是否進行截斷,如鏡像的ID 信息,默認為是否;
  • -q, --quiet=true/false: 僅輸出ID信息, 默認為否。
[root@dbc-server-554 ansible]# docker images --digests=true
REPOSITORY   TAG       DIGEST                                                                    IMAGE ID       CREATED      SIZE
ubuntu       18.04     sha256:c1d0baf2425ecef88a2f0c3543ec43690dc16cc80d3c4e593bb95e4f45390e45   e28a50f651f9   7 days ago   63.1MB
[root@dbc-server-554 ansible]# docker images --no-trunc=true
REPOSITORY   TAG       IMAGE ID                                                                  CREATED      SIZE
ubuntu       18.04     sha256:e28a50f651f9eefbc8883ddc64704d609f3d95bf1ea9e41f873a8da68ea5ec98   7 days ago   63.1MB
[root@dbc-server-554 ansible]# docker images -f dangling=true
REPOSITORY   TAG       IMAGE ID   CREATED   SIZE
[root@dbc-server-554 ansible]# docker images -q
e28a50f651f9

更多子命令選項還可以通過man docker-images來查看。

2.2.2 使用tag命令添加鏡像標簽(tag)

為了方便在后續工作中使用特定鏡像,還可以使用docker tag命令來為本地鏡像任意添加新的標簽。
格式:

docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

例如,添加一個新的myubuntu: latest鏡像標簽:

[root@dbc-server-554 ansible]# docker tag ubuntu:18.04 myubuntu:latest
[root@dbc-server-554 ansible]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED      SIZE
myubuntu     latest    e28a50f651f9   7 days ago   63.1MB
ubuntu       18.04     e28a50f651f9   7 days ago   63.1MB

再次使用docker images列出本地主機上鏡像信息, 可以看到多了一個myubuntu:latest標簽的鏡像,之后,用戶就可以直接使用myubuntu:latest來表示這個鏡像了。

細心的讀者可能注意到, 這些myubuntu:latest鏡像的ID跟ubuntu:latest是完全一致的,它們實際上指向了同一個鏡像文件,只是別名不同而已。docker tag命令添加的標簽實際上起到了類似鏈接的作用。

2.2.3 使用inspect命令查看詳細信息(inspect)

使用docker [image] inspect命令可以獲取該鏡像的詳細信息,包括制作者、適應架構、各層的數字摘要等,格式

docker inspect [OPTIONS] NAME|ID [NAME|ID...]
 -f, --format=""      Format the output using the given Go template
 -h, --help[=false]      help for inspect
 -s, --size[=false]      Display total file sizes if the type is container
[root@dbc-server-554 ansible]# docker inspect e28
[
    {"Id": "sha256:e28a50f651f9eefbc8883ddc64704d609f3d95bf1ea9e41f873a8da68ea5ec98",
        "RepoTags": [
            "myubuntu:latest",
            "ubuntu:18.04"
        ],
        "RepoDigests": [
            "ubuntu@sha256:c1d0baf2425ecef88a2f0c3543ec43690dc16cc80d3c4e593bb95e4f45390e45"
        ],
        "Parent": "",
        "Comment": "",
        "Created": "2023-01-02T18:48:56.081327405Z",
        ...

此處以及后續使用IMAGE ID參數,只要能確定ID,只寫前幾位即可
上面代碼返回的是一個 JSON 格式的消息, 如果我們只要其中一項內容時, 可以使 用-f來指定, 例如, 獲取鏡像的Architecture:

[root@dbc-server-554 ansible]# docker image inspect -f {{.Architecture}} e28
amd64
[root@dbc-server-554 ansible]# docker image inspect -f {{.Os}} e28
linux
2.2.4 使用history命令查看鏡像歷史(history)

既然鏡像文件由多個層組成,那么怎么知道各個層的內容具體是什么呢?這時候可以使用history子命令,該命令將列出各層的創建信息。
格式:

docker history [OPTIONS] IMAGE
 --format=""      Pretty-print images using a Go template
 -h, --help[=false]      help for history
 -H, --human[=true]      Print sizes and dates in human readable format
 --no-trunc[=false]      Don't truncate output
 -q, --quiet[=false]      Only show image IDs

例如,查看ubuntu:18.04鏡像的創建過程,可以使用如下命令:

[root@dbc-server-554 ansible]# docker image history e28
IMAGE          CREATED      CREATED BY                                      SIZE      COMMENT
e28a50f651f9   7 days ago   /bin/sh -c #(nop)  CMD ["bash"]                 0B  7 days ago   /bin/sh -c #(nop) ADD file:132da97f77ddc534d…   63.1MB

使用--no-trunc=true顯示長信息

[root@dbc-server-554 ansible]# docker image history --no-trunc=true e28
IMAGE                                                                     CREATED      CREATED BY                                                                                          SIZE      COMMENT
sha256:e28a50f651f9eefbc8883ddc64704d609f3d95bf1ea9e41f873a8da68ea5ec98   7 days ago   /bin/sh -c #(nop)  CMD ["bash"]                                                                     0B                         7 days ago   /bin/sh -c #(nop) ADD file:132da97f77ddc534ddb931a461d83ac2aa601dd4481360c874eac33b6c3470d9 in /    63.1MB
2.3 搜索鏡像(search)

使用docker search命令可以搜索Docker Hub官方倉庫中的鏡像。格式:

docker search [OPTIONS] TERM
OPTIONS
       -f, --filter=      Filter output based on conditions provided
       --format=""      Pretty-print search using a Go template
       -h, --help[=false]      help for search
       --limit=25      Max number of search results
       --no-trunc[=false]      Don't truncate output

例如, 搜索官方提供的帶 nginx關鍵字的鏡像

[root@dbc-server-554 ansible]# docker search -f=is-official=true nginx
NAME      DESCRIPTION                STARS     OFFICIAL   AUTOMATED
nginx     Official build of Nginx.   17920     [OK]

再比如, 搜索所有收藏數超過 4 的關鍵詞包括httpd的鏡像:

[root@dbc-server-554 ansible]# docker search --filter=stars=4 httpd
NAME                      DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
httpd                     The Apache HTTP Server Project                  4291      [OK]
centos/httpd-24-centos7   Platform for running Apache httpd 2.4 or bui…   45
centos/httpd                                                              36                   [OK]

可以看到返回了很多包含關鍵字的鏡像, 其中包括鏡像名字、 描述、 收藏數(表示該鏡像 的受歡迎程度)、 是否官方創建、 是否自動創建等。默認的輸出結果將按照星級評價進行排序。

2.4 刪除和清理鏡像(rmi,prune) 2.4.1 使用標簽刪除鏡像(rmi/rm)

使用docker rmidocker image rm命令可以刪除鏡像, 命令格式為

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

其中 IMAGE可以為標簽或 ID。 支持選項包括:

  • -f, -force: 強制刪除鏡像, 即使有容器依賴它;
  • -no-prune: 不要清理未帶標簽的父鏡像。
[root@dbc-server-554 ansible]# docker rmi myubuntu
Untagged: myubuntu:latest
[root@dbc-server-554 ansible]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED      SIZE
ubuntu       18.04     e28a50f651f9   7 days ago   63.1MB

讀者可能會想到, 本地的ubuntu:latest 鏡像是否會受到此命令的影響。 無須擔心, 當同一個鏡像擁有多個標簽的時候, docker rmi 命令只是刪除了該鏡像多個標簽中的指定 標簽而巳, 并不影響鏡像文件。 因此上述操作相當于只是刪除了鏡像 0458a4468cbc的一 個標簽副本而已。如果按指定ID刪除,則會刪除鏡像本身。

2.4.2 使用鏡像ID來刪除鏡像

當使用 docker rmi 命令, 并且后面跟上鏡像的 ID(也可以是能進行區分的部分 ID 串前綴)時, 會先嘗試刪除所有指向該鏡像的標簽, 然后刪除該鏡像文件本身。
注意,當有該鏡像創建的容器存在時,鏡像文件默認是無法被刪除的,例如: 先利用 ubuntu:18.04鏡像創建一個簡單的容器來輸出一段話:

[root@dbc-server-554 ansible]# docker run -it e28 echo "hello world"
hello world

使用docker ps -a命令可以看到本機上存在的所有容器:

[root@dbc-server-554 ansible]# docker ps -a
CONTAINER ID   IMAGE          COMMAND                CREATED          STATUS                      PORTS     NAMES
fe01b86f100c   e28            "echo 'hello world'"   14 seconds ago   Exited (0) 13 seconds ago             interesting_lumiere
69c9479cfafd   ubuntu:18.04   "bash"                 3 hours ago      Exited (0) 3 hours ago                angry_hofstadter

可以看到,后臺存在一個退出狀態的容器,是剛基于ubuntu:18.04鏡像創建的。試圖刪除該鏡像,Docker會提示有容器正在運行,無法刪除:

[root@dbc-server-554 ansible]# docker rmi ubuntu:18.04
Error response from daemon: conflict: unable to remove repository reference "ubuntu:18.04" (must force) - container fe01b86f100c is using its referenced image e28a50f651f9

如果要想強行刪除鏡像, 可以使用-f參數:

$ docker rmi -f ubuntu:18.04

注意, 通常并不推薦使用-f參數來強制刪除一個存在容器依賴的鏡像。 正確的做法是, 先刪除依賴該鏡像的所有容器, 再來刪除鏡像。
首先刪除容器e28a50f651f9:

$ docker rm e28a50f651f9

然后使用ID來刪除鏡像, 此時會正常打印出刪除的各層信息

2.4.3 清理鏡像(prune)

使用Docker一段時間后, 系統中可能會遺留一些臨時的鏡像文件, 以及一些沒有被使用的鏡像, 可以通過docker image prune命令來進行清理(prune:消減 )。格式:

docker image prune [OPTIONS]

支待選項包括:

-a, -all: 刪除所有無用鏡像, 不光是臨時鏡像;
-filter FILTER: 只清理符合給定過濾器的鏡像;
-f, -force: 強制刪除鏡像, 而不進行提示確認。

例如, 如下命令會自動清理臨時的遺留鏡像文件層, 最后會提示釋放的存儲空間:

$ docker image prune -f 
... 
Total reclaimed space: 1.4 GB
2.5 *創建鏡像 (commit,import,build)

創建鏡像的方法主要有三種: 基于已有鏡像的容器創建、 基于本地模板導入、 基于Dockerfile創建。

2.5.1 基于已有容器創建(commit)

該方法主要是使用docker [container] commit命令。格式:

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
OPTIONS
       -a,   --author=""       Author  (e.g.,  "John  Hannibal  Smith  hannibal@a-team.com  ?mailto:hannibal@a-
       team.com?")
       -c, --change=      提交的時候執行Dockerfile指令, 包括CMD,ENTRYPOINT,ENV,EXPOSE,LABEL,ONBUILD,USER,VOLUME,WORKDIR等; 
       -m, --message=""      Commit message
       -p, --pause[=true]      Pause container during commit

下面將演示如何使用該命令創建一個新鏡像:

  1. 啟動一個鏡像, 并在其中進行修改操作。例如, 創建一個hello文件
[root@dbc-server-554 ansible]# docker run -it e28 bash
root@944742a90200:/# touch hello
root@944742a90200:/# ls
bin  boot  dev  etc  hello  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
  1. 此時該容器與原 ubuntu:18.04 鏡像相比, 已經發生了改變, 可以使用docker [container] commit命令來提交為一個新的鏡像。提交時可以使用 ID 或名稱來指定容器:
[root@dbc-server-554 ansible]# docker commit -m "add a new file [hello]" -a "yurq" 944742a90200 hello:0.1
sha256:faae2335ff33a81fe1c3c305a0296002556af1506db9a986bc9c69426e059955
[root@dbc-server-554 ansible]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
hello        0.1       faae2335ff33   7 seconds ago   63.1MB
ubuntu       18.04     e28a50f651f9   7 days ago      63.1MB
2.5.2 基于本地模板導入(import)

用戶也可以直接從一個操作系統模板文件導人一個鏡像,主要使用 docker [container] import 命令。 命令格式為

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

要直接導人一個鏡像,可以使用 OpenVZ 提供的模板來創建,或者用其他已導出的鏡像 模板來創建。
OPENVZ 模板的下載地址為http://openvz.org/Download/templates/precreated。

[root@dbc-server-554 docker]# cat centos-7-x86_64-minimal.tar.gz |docker import - centos:7
sha256:2d8840b29c99c35ff00ef66b2e4707ea22d61b513736df406f4987a46d0aa57f
[root@dbc-server-554 docker]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED          SIZE
centos       7         2d8840b29c99   3 seconds ago    435MB
hello        0.1       faae2335ff33   38 minutes ago   63.1MB
ubuntu       18.04     e28a50f651f9   7 days ago       63.1MB
2.5.3 基于 Dockerfile 創建(build)

基于 Dockerfile 創建是最常見的方式。 Dockerfile 是一個文本文件,利用給定的指令描述基于某個父鏡像創建新鏡像的過程。
下面給出 Dockerfile 的一個簡單示例,基于centos7鏡像構建一個新的centos鏡像:

[root@dbc-server-554 docker]# cat dockerfile
FROM centos:7
LABEL version="1.0" maintainer="newbee"
[root@dbc-server-554 docker]# docker build -t centos:test .
Sending build context to Docker daemon  145.6MB
Step 1/2 : FROM centos:7
 --->2d8840b29c99
Step 2/2 : LABEL version="1.0" maintainer="newbee"
 --->Running in b61ec2c18c24
Removing intermediate container b61ec2c18c24
 --->286c9503509f
Successfully built 286c9503509f
Successfully tagged centos:test

Dockerfile強大的構建功能遠遠不止于此,而且非常關鍵。更多使用 Dockerfile 的技巧將將在后面進行介紹。

2.6 存出和載入鏡像(save,load)

本節主要介紹 Docker 鏡像的 save 和 load 子命令。 用戶可以使用docker [image] savedocker [image] load命令來存出和載入鏡像。

2.6.1 存出鏡像(save)

要導出鏡像到本地文件,可以使用docker [image] save命令。該命令支持-o、--output string參數,導出鏡像到指定的文件中。 格式:

docker save [OPTIONS] IMAGE [IMAGE...]
OPTIONS
       -h, --help[=false]      help for save
       -o, --output=""      Write to a file, instead of STDOUT

示例:

[root@dbc-server-554 docker]# docker save -o centos7.tar centos:test
[root@dbc-server-554 docker]# ls
centos7.tar  centos-7-x86_64-minimal.tar.gz  dockerfile

存出的tar文件可以分享給其他人,通過下面load命令載入使用

2.6.2 載入鏡像(load)

可以使用docker [image] load將導出的 tar 文件再導人到本地鏡像庫。支持-i、--input string選項,從指定文件中讀入鏡像內容。 格式:

docker load [OPTIONS] IMAGE.tar
OPTIONS
       -h, --help[=false]      help for load
       -i, --input=""      Read from tar archive file, instead of STDIN
       -q, --quiet[=false]      Suppress(刪除) the load output

示例:

Loaded image: centos:test
[root@dbc-server-554 docker]# docker rmi 286
Untagged: centos:test
Deleted: sha256:286c9503509fe18eb2d48c9eef585ee6bb8571c116781bad6f7956a33e05520d
[root@dbc-server-554 docker]# docker load -i centos7.tar
Loaded image: centos:test
[root@dbc-server-554 docker]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED             SIZE
centos       test      286c9503509f   13 minutes ago      435MB
centos       7         2d8840b29c99   23 minutes ago      435MB
hello        0.1       faae2335ff33   About an hour ago   63.1MB
ubuntu       18.04     e28a50f651f9   7 days ago          63.1MB

不使用-i,也可以使用重定向<,結果相同,例如:

docker load< centos7.tar
2.7 上傳鏡像(push)

本節主要介紹 Docker 鏡像的 push 子命令。 可以使用docker [image] push命令上 傳鏡像到倉庫,默認上傳到 Docker Hub 官方倉庫(需要登錄)。 命令格式為

docker [image] push NAME[:TAG] | [REGISTRY_HOST[:REGISTRY_PORT]/]NAME[:TAG]
OPTIONS
       -a, --all-tags[=false]      Push all tagged images in the repository
       --disable-content-trust[=true]      Skip image signing
       -h, --help[=false]      help for push
       -q, --quiet[=false]      Suppress verbose output

用戶在 Docker Hub 網站注冊后可以上傳自制的鏡像。

[root@dbc-server-554 docker]# docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: yurq
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded
[root@dbc-server-554 docker]# docker tag hello:0.1 yurq/hello:0.1
[root@dbc-server-554 docker]# docker push yurq/hello:0.1
The push refers to repository [docker.io/yurq/hello]
2f8d78308466: Pushed
101b05ef38e1: Mounted from library/ubuntu
0.1: digest: sha256:6aa6a023469f4e2710f516aed3a9950902d8f03c21360a4b50f930202d58d2f0 size: 736

第一次上傳時,會提示輸入登錄信息或進行注冊,之后登錄信息會記錄到本地~/ . docker 目錄下。
dockerhub
以后可以通過docker pull yurq/hello:0.1下載鏡像進行使用

2.8 鏡像命令匯總
命令說明
docker [image] pull NAME [ :TAG]獲取鏡像
docker images [ls]列出鏡像
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]添加標簽
docker inspect [OPTIONS] NAMEID [NAME
docker history [OPTIONS] IMAGE鏡像構建歷史
docker search [OPTIONS] TERM查找鏡像
docker rmi [OPTIONS] IMAGE [IMAGE…]刪除鏡像
docker image prune [OPTIONS]清理鏡像
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]創建鏡像(基于已有容器創建)
docker import [OPTIONS] fileURL
docker build -t centos:test.創建鏡像(基于 Dockerfile 創建).指當前路徑
docker save [OPTIONS] IMAGE [IMAGE…]存出鏡像
docker load [OPTIONS] IMAGE.tar載入鏡像
docker [image] push NAME[:TAG][REGISTRY_HOST[:REGISTRY_PORT]/]NAME[:TAG]
docker login登錄https://hub.docker.com

你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧

文章標題:CHAPTER2Docker鏡像-創新互聯
網站路徑:http://vcdvsql.cn/article4/ddgsie.html

成都網站建設公司_創新互聯,為您提供網站營銷、營銷型網站建設、搜索引擎優化軟件開發、動態網站網站改版

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

外貿網站建設