使用Docker構建企業級自定義鏡像的方法
前言
臨下班前,樓主接到了一個需求,由于基礎鏡像標準發生變更,需要按照最新的Docker 鏡像標準構建自己應用的自定義鏡像。目前的標準是這樣的:基礎架構組只提供所有項目必須接入的3個公共鏡像,這3個公共基礎鏡像包含了:JDK8、Skywalking、Arthas。對于各自業務組的應用如果還需要加入其它鏡像,則由各個業務組自己基于基礎架構組提供的公共鏡像之上,再添加自定義的鏡像,結構圖如下:
構建步驟
編寫Dockerfile
基于最新的規范來看,我們需要編寫一個Dockerfile,然后引用基礎架構組提供的基礎鏡像,再加入應用需要的其他鏡像。因此最終的 Dockerfile 文件如下:
FROM 基礎鏡像地址RUN apk add 需要添加的自定義鏡像...
在Centos7下安裝Docker環境
卸載舊版本
較舊的 Docker 版本稱為 docker 或 docker-engine 。如果已安裝這些程序,請卸載它們以及相關的依賴項。
$ sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
安裝 Docker Engine-Community
使用 Docker 倉庫進行安裝
在新主機上首次安裝 Docker Engine-Community 之前,需要設置 Docker 倉庫。之后,您可以從倉庫安裝和更新 Docker。
設置倉庫
安裝所需的軟件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存儲驅動程序需要 device-mapper-persistent-data 和 lvm2。
$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
使用以下命令來設置穩定的倉庫。
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
安裝 Docker Engine-Community
安裝最新版本的 Docker Engine-Community 和 containerd,或者轉到下一步安裝特定版本:
$ sudo yum install docker-ce docker-ce-cli containerd.io
如果提示您接受 GPG 密鑰,請選是。
有多個 Docker 倉庫嗎?
如果啟用了多個 Docker 倉庫,則在未在 yum install 或 yum update 命令中指定版本的情況下,進行的安裝或更新將始終安裝最高版本,這可能不適合您的穩定性需求。
Docker 安裝完默認未啟動。并且已經創建好 docker 用戶組,但該用戶組下沒有用戶。
要安裝特定版本的 Docker Engine-Community,請在存儲庫中列出可用版本,然后選擇并安裝:
1、列出并排序您存儲庫中可用的版本。此示例按版本號(從高到低)對結果進行排序。
$ yum list docker-ce --showduplicates | sort -r
docker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stabledocker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stabledocker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable
2、通過其完整的軟件包名稱安裝特定版本,該軟件包名稱是軟件包名稱(docker-ce)加上版本字符串(第二列),從第一個冒號(:)一直到第一個連字符,并用連字符(-)分隔。例如:docker-ce-18.09.1。
$ sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
啟動 Docker。
$ sudo systemctl start docker
通過運行 hello-world 映像來驗證是否正確安裝了 Docker Engine-Community 。
$ sudo docker run hello-world
開始構建應用自定義鏡像
根據 Dockerfile 文件進行自定義鏡像的構建
在Dockerfile 文件所在的目錄下執行如下命令進行自定義鏡像的構建:
sudo docker build -f Dockerfile -t 你的自定義鏡像名稱 .
推送到企業私有的鏡像harbor之前進行登錄
docker login 企業私有的harbor地址輸入用戶名輸入密碼完成登錄
將構建完成的自定義鏡像推送到企業私有的harbor
sudo docker push 你的自定義鏡像名稱
總結
通過 1.編寫自定義構建鏡像的Dockerfile 2.安裝Docker環境 3.構建自定義鏡像 4.上傳自定義鏡像到harbor 以上4個步驟,我們便完成了應用自定義鏡像的構建,后續我們自己的應用中直接使用自定義鏡像即可,這樣做的好處就是基于基礎的鏡像,我們可以隨意組合,構建出滿足自己應用的鏡像,更靈活、鏡像分層管理、可擴展。
到此這篇關于使用Docker構建企業級自定義鏡像的方法的文章就介紹到這了,更多相關Docker構建企業級自定義鏡像內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章:
