docker系列學習之如何有效的管理docker鏡像

2020-09-05 編程小knowledge

dockerfile實戰

上一節說到使用Dockerfile來構建自定義的應用打包成鏡像的相關命令,這裡就舉個簡單的例子實戰一下。如下所示創建一個Dockerfile文件並加入以下內容。

構建nginx鏡像

FROM nginxRUN echo &39; > /usr/share/nginx/html/index.html

使用docker build -t nginx:test.構建鏡像即可,注意這裡的.指的是上下文路徑,執行命令時會將此目錄下面的所有內容都打包,所以構建時最好單獨建立目錄。

構建springBoot項目

創建Dockerfile文件並寫入以下內容

將本地文件夾掛載到當前容器VOLUME /tmp39; 配置容器啟動後執行的命令ENTRYPOINT [&34;,&34;,&34;,&34;]

注意:此處的test.jar必須放到當前目錄下面,不然找不到無法構建成功。

docker鏡像管理

Docker Hub

docker hub是docker官方提供的一個集中管理docker鏡像的平臺,裡面大多數鏡像幾乎一應俱全。接下來就說下如何使用docker hub。

1、首先我們到docker官方註冊一個帳號,然後後續就可以使用此帳號登錄。

我們也可使用docker login 命令登錄Docker Hub。輸入該命令並按照提示輸入帳號和密碼,即可完成登錄。

$ docker loginLogin 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: zhaoydPassword: Login Succeeded

2、點擊Docker Hub主頁上的」Create Repository」按鈕,按照提示填入信息即可創建一個倉庫。


創建成功後就可以將自己的製作的鏡像推送到docker hub了

docker push microservice-discovery-eureka:0.0.1

Docker Registry

很多時候,大多數開發者希望有自己的私有鏡像管理倉庫,方便鏡像管理和下載,而且更加安全。

接下來就說下如何創建自己的私有倉庫。

可使用docker-registry項目或者Docker Registry 2.0來搭建私有倉庫,但docker-registry已被官方標記為過時,並且已有2年不維護了,不建議使用。

我們先用Docker Registry 2.0搭建一個私有倉庫,然後將Docker鏡像推送到私有倉庫。


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

使用如上命令就可以創建一個docker registry2.0

接下來將鏡像推送到創建的私有倉庫

docker push xx

如果報錯則使用以下命令將鏡像標籤改掉即可上傳。

docker tag xx xx1

相關焦點

  • 一起學習docker04-docker鏡像
    一起學習docker系列:一、關於鏡像鏡像是 Docker 的三大組件之一。下載鏡像docker pull docker.io/hello-world注意:倉庫地址,docker.io,沒有指明tag,默認就是latest.運行這個鏡像
  • Docker系列教程01-使用Docker鏡像
    前言學習Docker,我們需要掌握它的三大核心概念:鏡像、容器和倉庫。今天先帶大家學習Docker鏡像相關的基礎知識。下載nginx鏡像鏡像管理命令,比如 ubuntu 表示ubuntu 系列的基礎鏡像TAG鏡像的標籤信息,人為標識鏡像的不同版本IMAGE ID鏡像的ID,用來唯一標識鏡像,如果兩個鏡像ID相同,表示它們指向同一個鏡像,只是標籤名稱不同而已
  • 使用 Docker 鏡像 | Docker 系列
    與安裝 | Docker 系列今天來說說鏡像,鏡像是 Docker 中特別重要的概念,是容器運行的基礎,沒有鏡像,後面的一切都不成立。使用 docker tag 命令來給本地鏡像添加新的標籤。使用 docker inspect 命令來獲取鏡像的詳細信息。使用 docker history 命令列出鏡像各層的創建信息。搜索鏡像使用 docker search 命令來搜索鏡像。
  • Docker 鏡像構建之 docker commit
    我們可以通過公共倉庫拉取鏡像使用,但是,有些時候公共倉庫拉取的鏡像並不符合我們的需求。儘管已經從繁瑣的部署工作中解放出來,但是實際開發時,我們可能希望鏡像包含整個項目的完整環境,在其他機器上拉取打包完整的鏡像,直接運行即可。
  • 使用Docker 鏡像|Docker 系列
    前文回顧:初識 Docker 與安裝 | Docker 系列今天來說說鏡像,鏡像是 Docker 中特別重要的概念,是容器運行的基礎,沒有鏡像,後面的一切都不成立。使用 docker tag 命令來給本地鏡像添加新的標籤。
  • docker系列學習之鏡像加速器及常用命令
    搜索鏡像 【docker search】可以使用docker search [options] term 來搜索需要拉去的鏡像。>--all-tags, -a 默認false 【下載所有標籤的鏡像】--disable-content-trust 默認值true 【忽略鏡像的校驗】示例docker pull java 從docker hub拉去最新的java鏡像列出鏡像 【docker images】
  • docker系列學習之入門使用
    linux機器,docker可以將應用程式和基礎設施隔離,能將一個設施當做程序一樣部署和管理,可以快速打包、部署、測試應用程式,減少編程到部署的時間。Standard:添加高級鏡像與容器管理LDAP/AD用戶集成基於角色的訪問控制(Docker Datacenter)Advanced:添加Docker安全掃描連續漏洞監控社區版(CE)社區版本的docker是免費的,包含了完整的docker平臺
  • Docker新手入門之四:Docker鏡像和倉庫的基本使用
    在之前的文章中,我們已經講解了什麼是Docker,以及如何運行Docker容器。接下來,我們將要繼續講解Docker鏡像的相關概念與操作。Docker鏡像是啟動容器的基石。本文中將會講解如何管理、修改鏡像以及鏡像存儲倉庫Registry的相關知識。
  • Docker集群管理之Docker Compose
    前言:在上一篇《Docker集群管理之Docker Machine》中,我們通過源碼分析了解了Docker Machine的工作原理,使用者可以通過Docker Machine的一條命令在任意支持的平臺創建一個Docker主機,並能集中管理這些主機。Docker主機創建好之後,接下來就該考慮Docker容器部署的問題了。
  • Docker 鏡像構建之 Dockerfile
     FROM centos:7  如果不以任何鏡像為基礎,那麼寫法為:FROM scratch。官方說明:scratch 鏡像是一個空鏡像,可以用於構建 busybox 等超小鏡像,可以說是真正的從零開始構建屬於自己的鏡像。
  • docker系列之可視化管理工具
    PortainerPortainer是docker的圖形化管理工具,提供狀態顯示面板、應用模板快速部署、容器鏡像網絡數據卷的基本操作(包括上傳下載鏡像,創建容器等操作)、事件日誌顯示、容器控制臺操作、Swarm集群和服務等集中管理和操作、登錄用戶管理和控制等功能。
  • 玩轉Docker鏡像
    同時,Docker在開發者社區也是一石激起千層浪,許多如我之碼農紛紛開始關注、學習和使用Docker,許多企業,尤其是網際網路企業,也在不斷加大對Docker的投入,大有掀起一場容器革命之勢。Docker鏡像命名解析鏡像是Docker最核心的技術之一,也是應用發布的標準格式。
  • 使用Docker鏡像
    既然鏡像這麼重要,那麼本篇就圍繞鏡像這一核心概念來具體介紹相關操作:(1)如何使用pull命令從Docker Hub倉庫中下載鏡像到本地;(2)如何查看本地已有的鏡像信息和管理鏡像標籤;(3)如何在遠端倉庫中使用search命令進行搜索和過濾;(4)如何刪除鏡像標籤和鏡像文件;(5)如何創建用戶定製的鏡像並且保存為外部文件;(6)如何往Docker Hub倉庫中推送自己的鏡像。
  • Docker系列教程04-Docker構建鏡像的三種方式
    簡介創建鏡像的方法主要有三種:基於已有鏡像的容器創建、基於本地模板導入、基於Dockerfile創建。今天就逐一講述為大家講述,如何構建屬於自己的docker鏡像。1、基於容器構建鏡像基於已有容器構建鏡像主要是通過docker commit命令來構建新的鏡像,語法規則如下:下面將演示下如何基於已有容器構建鏡像1、首先,創建一個容器,並在其容器內創建一個test文件,之後退出。
  • docker系列學習之容器
    前言上一篇文章說到了docker的鏡像以及常用命令,在docker的使用過程中,一般都是先拉去鏡像,然後在鏡像的基礎上創建並啟動容器來運行我們的項目。故此本篇主要是說下容器的創建和相關命令以及簡單使用。
  • 使用 Dockerfile 創建鏡像 | Docker 系列
    之前寫鏡像的時候說到創建鏡像最常用的方式是使用 dockerfile,這篇就來重點說一下,到底是怎麼使用 Dockerfile 來創建的。基本結構 2、維護者信息MAINTAINER docker_user docker_user@email.com34;deb http://archive.ubuntu.com/ubuntu/ raring main universe
  • docker系列——使用maven構建docker鏡像並上傳鏡到像倉庫
    >一鍵式構建鏡像或者直接使用maven將鏡像推送到我們的指定倉庫,那麼這裡就需要使用maven的docker插件了。images即可查看構建成的鏡像,後續就可以啟動鏡像並運行了。有時候我們需要使用docker更加方便的構建生成鏡像,此時就需要使用maven插件引入Dockerfile文件路徑構建鏡像。
  • Docker 鏡像的備份恢復遷移
    在大家已經學會了如何構建鏡像以後,為了備份該鏡像,我們有以下幾個選擇:我們可以將指定鏡像保存成 tar 歸檔文件,需要使用時將 tar 包恢復為鏡像即可;登錄 DockerHub 註冊中心,將鏡像推送至 DockerHub 倉庫方便使用;
  • Docker私有鏡像
    這兩種Docker鏡像倉庫各自都有一定的市場,就作者所工作過的公司來說使用Harbor和JFrog Artifactory作為私有鏡像倉庫的都有,但就成熟度和功能性完整性來說JFrog Artifactory作為商業級解決方案會更具優勢,所以目前國內有錢的網際網路公司選擇JFrog Artifactory作為企業級私有倉庫的比較多,本文的主要內容是演示如何通過Docker的方式來快速部署JFrog Artifactory
  • Docker實戰005:docker鏡像使用詳解
    鏡像docker鏡像是一個文件系統(它沒有狀態也不會被改變),鏡像可以啟動複雜的軟體供用戶使用。鏡像刪除之前要確認此鏡像是否被容器使用,如果存在正在運行的docker容器則需要先刪除對應的docker容器。