摘要:原文地址零基礎入門指南五倉庫是集中存放鏡像的地方。最常使用的公開服務是官方的,這也是默認的,并擁有大量的高質量的官方鏡像。登錄可以通過執行命令交互式的輸入用戶名及密碼來完成在命令行界面登錄。使用將這個鏡像標記為。
原文地址:Docker零基礎入門指南(五)
倉庫( Repository )是集中存放鏡像的地方。一個容易混淆的概念是注冊服務器( Registry )。實際上注冊服務器是管理倉庫的具體服務器,每個服務器上可以有多個倉庫,而每個倉庫下面有多個鏡像。從這方面來說,倉庫可以被認為是一個具體的項目或目錄。例如對于倉庫地址 dl.dockerpool.com/ubuntu 來說,dl.dockerpool.com 是注冊服務器地址, ubuntu 是倉庫名。
Docker RegistryDocker Registry用來提供集中的存儲、分發鏡像的服務。
一個 Docker Registry 中可以包含多個倉庫(Repository);每個倉庫可以包含多個標簽(Tag);每個標簽對應一個鏡像。
通常,一個倉庫會包含同一個軟件不同版本的鏡像,而標簽就常用于對應該軟件的各個版本。我們可以通過 <倉庫名>:<標簽> 的格式來指定具體是這個軟件哪個版本的鏡像。如果不給出標簽,將以 latest 作為默認標簽。
以 Ubuntu 鏡像 為例,ubuntu 是倉庫的名字,其內包含有不同的版本標簽,如,14.04, 16.04。我們可以通過 ubuntu:14.04,或者 ubuntu:16.04 來具體指定所需哪個版本的鏡像。如果忽略了標簽,比如 ubuntu,那將視為 ubuntu:latest。
倉庫名經常以 兩段式路徑 形式出現,比如 jwilder/nginx-proxy,前者往往意味著 Docker Registry 多用戶環境下的用戶名,后者則往往是對應的軟件名。但這并非絕對,取決于所使用的具體 Docker Registry 的軟件或服務。
Docker Hub最常使用的 Registry 公開服務是官方的 Docker Hub,這也是默認的 Registry,并擁有大量的高質量的官方鏡像。
注冊
可以在 https://cloud.docker.com 免費注冊一個 Docker 賬號。
登錄
可以通過執行 docker login 命令交互式的輸入用戶名及密碼來完成在命令行界面登錄Docker Hub。可以通過 docker logout 退出登錄。
拉取鏡像
可以通過 docker search 命令來查找官方倉庫中的鏡像,并利用 docker pull 命令來將它下載到本地。
推送鏡像
用戶也可以在登錄后通過 docker push 命令來將自己的鏡像推送到 Docker Hub。
自動創建
自動創建(Automated Builds)功能對于需要經常升級鏡像內程序來說,十分方便。有時候,用戶創建了鏡像,安裝了某個軟件,如果軟件發布新版本則需要手動更新鏡像。而自動創建允許用戶通過 Docker Hub 指定跟蹤一個目標網站(目前支持 GitHub 或 BitBucket)上的項目,一旦項目發生新的提交或者創建新的標簽(tag),Docker Hub 會自動構建鏡像并推送到 Docker Hub 中。要配置自動創建,包括如下的步驟:
創建并登錄 Docker Hub,以及目標網站;
在目標網站中連接帳戶到 Docker Hub
在 Docker Hub 中 配置一個自動創建
選取一個目標網站中的項目(需要含 Dockerfile )和分支
指定 Dockerfile 的位置,并提交創建
之后,可以在 Docker Hub 的 自動創建頁面 中跟蹤每次創建的狀態。
私有 Docker Registry除了使用公開服務外,用戶還可以在本地搭建私有 Docker Registry。Docker 官方提供了 Docker Registry 鏡像,可以直接使用做為私有 Registry 服務。
docker-registry 是官方提供的工具,可以用于構建私有的鏡像倉庫。以下內容基于dockerregistry v2.x 版本。
安裝運行 docker-registry
可以通過獲取官方 registry 鏡像來運行
$ docker run -d -p 5000:5000 --restart=always --name registry registry
這將使用官方的 registry 鏡像來啟動私有倉庫。默認情況下,倉庫會被創建在容器的/var/lib/registry 目錄下。可以通過 -v 參數來將鏡像文件存放在本地的指定路徑。
$ docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry registry
在私有倉庫上傳、搜索、下載鏡像
創建好私有倉庫之后,就可以使用 docker tag 來標記一個鏡像,然后推送它到倉庫。例如私有倉庫地址為 127.0.0.1:5000 。
先在本機查看已有的鏡像。
$ docker image ls REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE ubuntu latest ba5877dc9bec 6 weeks ago 192.7 MB
使用 docker tag 將 ubuntu:latest 這個鏡像標記為 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 上傳標記的鏡像。
$ 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:fe4277621f10b5026266932ddf760f5a756d2facd505a94d2da12f4f52f71f5 a size: 1568
用 curl 查看倉庫中的鏡像。
$ curl 127.0.0.1:5000/v2/_catalog {"repositories":["ubuntu"]}
這里可以看到 {"repositories":["ubuntu"]} ,表明鏡像已經被成功上傳了。
先刪除已有鏡像,再嘗試從私有倉庫中下載這個鏡像。
$ 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
(本文出自itcsdaixie.com,轉載請注明出處)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/27320.html
摘要:原文地址零基礎入門指南三允許你在容器內運行應用程序,使用命令來在容器內運行一個應用程序。由于官方提供的文件,都放在組里面,所以它的是默認組,可以省略。如果發現本地沒有指定的文件,就會從倉庫自動抓取。因此,前面的命令并不是必需的步驟。 原文地址:Docker零基礎入門指南(三) Docker Hello World Docker 允許你在容器內運行應用程序, 使用 docker run...
摘要:原文地址零基礎入門指南四啟動容器啟動容器有兩種方式,一種是基于鏡像新建一個容器并啟動,另外一個是將在終止狀態的容器重新啟動。此外,當容器中指定的應用終結時,容器也自動終止。命令命令用于進入一個正在運行的容器。 原文地址:Docker零基礎入門指南(四) 啟動容器 啟動容器有兩種方式,一種是基于鏡像新建一個容器并啟動,另外一個是將在終止狀態(stopped)的容器重新啟動。因為Docke...
摘要:一個鏡像可以放到另一個京廣線的頂部,位于下面的鏡像稱為父鏡像,最底部的稱為基礎鏡像。鏡像是基于聯合文件系統的一種層式的結構,由一系列指令一步步構建處理。拉取鏡像使用命令啟動一個鏡像時,會檢查本地是否存在該鏡像。 什么是鏡像 Docker鏡像時由文件系統疊加而成,最底端是一個引導文件系統,即bootfs,這很像典型的Linux/Unix的引導文件系統。Docker用戶幾乎永遠不會和引導...
摘要:各組件結構下載安裝啟動的官方文檔上提供了非常詳細的安裝流程,簡單摘錄在上下載社區版并安裝的操作命令當控制臺輸出加一大段介紹文字時,安裝就大功告成了。 原文鏈接:http://tabalt.net/blog/docker... Docker是一個使用Golang開發的開源應用容器引擎,讓開發者可以打包應用和依賴到一個輕量級、可移植的鏡像中,然后分發到任何流行的Linux機器上,并在這些機...
摘要:原文地址零基礎入門指南一介紹簡介源代碼托管在上,公司開源的一個基于技術之上構建的容器引擎,基于語言并遵從協議開源。通過等實現內核虛擬化技術,并提供容器的資源隔離與安全保障等。 原文地址:Docker零基礎入門指南(一):Docker介紹 Docker簡介 Docker源代碼托管在 GitHub上,Docker 公司開源的一個基于LXC技術之上構建的Container容器引擎,基于Go...
閱讀 1867·2023-04-25 19:51
閱讀 1168·2021-11-15 11:43
閱讀 4529·2021-11-02 14:40
閱讀 1999·2021-10-11 10:59
閱讀 1338·2021-09-22 15:05
閱讀 1027·2021-09-09 09:32
閱讀 648·2019-08-30 15:56
閱讀 549·2019-08-30 15:52