您好,登錄后才能下訂單哦!
小編這次要給大家分享的是怎么使用Docker構(gòu)建企業(yè)級自定義鏡像,文章內(nèi)容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。
前言
臨下班前,樓主接到了一個需求,由于基礎(chǔ)鏡像標(biāo)準(zhǔn)發(fā)生變更,需要按照最新的Docker 鏡像標(biāo)準(zhǔn)構(gòu)建自己應(yīng)用的自定義鏡像。目前的標(biāo)準(zhǔn)是這樣的:基礎(chǔ)架構(gòu)組只提供所有項目必須接入的3個公共鏡像,這3個公共基礎(chǔ)鏡像包含了:JDK8、Skywalking、Arthas。對于各自業(yè)務(wù)組的應(yīng)用如果還需要加入其它鏡像,則由各個業(yè)務(wù)組自己基于基礎(chǔ)架構(gòu)組提供的公共鏡像之上,再添加自定義的鏡像,結(jié)構(gòu)圖如下:
構(gòu)建步驟
編寫Dockerfile
基于最新的規(guī)范來看,我們需要編寫一個Dockerfile,然后引用基礎(chǔ)架構(gòu)組提供的基礎(chǔ)鏡像,再加入應(yīng)用需要的其他鏡像。因此最終的 Dockerfile 文件如下:
FROM 基礎(chǔ)鏡像地址 RUN apk add 需要添加的自定義鏡像 ...
在Centos7下安裝Docker環(huán)境
卸載舊版本
較舊的 Docker 版本稱為 docker 或 docker-engine 。如果已安裝這些程序,請卸載它們以及相關(guān)的依賴項。
$ 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 之前,需要設(shè)置 Docker 倉庫。之后,您可以從倉庫安裝和更新 Docker。
設(shè)置倉庫
安裝所需的軟件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存儲驅(qū)動程序需要 device-mapper-persistent-data 和 lvm2。
$ sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2
使用以下命令來設(shè)置穩(wěn)定的倉庫。
$ sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
安裝 Docker Engine-Community
安裝最新版本的 Docker Engine-Community 和 containerd,或者轉(zhuǎn)到下一步安裝特定版本:
$ sudo yum install docker-ce docker-ce-cli containerd.io
如果提示您接受 GPG 密鑰,請選是。
有多個 Docker 倉庫嗎?
如果啟用了多個 Docker 倉庫,則在未在 yum install 或 yum update 命令中指定版本的情況下,進行的安裝或更新將始終安裝最高版本,這可能不適合您的穩(wěn)定性需求。
Docker 安裝完默認未啟動。并且已經(jīng)創(chuàng)建好 docker 用戶組,但該用戶組下沒有用戶。
要安裝特定版本的 Docker Engine-Community,請在存儲庫中列出可用版本,然后選擇并安裝:
1、列出并排序您存儲庫中可用的版本。此示例按版本號(從高到低)對結(jié)果進行排序。
$ yum list docker-ce --showduplicates | sort -r
docker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stable docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable docker-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
開始構(gòu)建應(yīng)用自定義鏡像
根據(jù) Dockerfile 文件進行自定義鏡像的構(gòu)建
在Dockerfile 文件所在的目錄下執(zhí)行如下命令進行自定義鏡像的構(gòu)建:
sudo docker build -f Dockerfile -t 你的自定義鏡像名稱 .
推送到企業(yè)私有的鏡像harbor之前進行登錄
docker login 企業(yè)私有的harbor地址 輸入用戶名 輸入密碼 完成登錄
將構(gòu)建完成的自定義鏡像推送到企業(yè)私有的harbor
sudo docker push 你的自定義鏡像名稱
總結(jié)
通過 1.編寫自定義構(gòu)建鏡像的Dockerfile 2.安裝Docker環(huán)境 3.構(gòu)建自定義鏡像 4.上傳自定義鏡像到harbor 以上4個步驟,我們便完成了應(yīng)用自定義鏡像的構(gòu)建,后續(xù)我們自己的應(yīng)用中直接使用自定義鏡像即可,這樣做的好處就是基于基礎(chǔ)的鏡像,我們可以隨意組合,構(gòu)建出滿足自己應(yīng)用的鏡像,更靈活、鏡像分層管理、可擴展。
看完這篇關(guān)于怎么使用Docker構(gòu)建企業(yè)級自定義鏡像的文章,如果覺得文章內(nèi)容寫得不錯的話,可以把它分享出去給更多人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。