使用Docker構建企業級自定義映象的方法

2022-09-24 15:42:23 字數 2716 閱讀 8441

前言

臨下班前,樓主接到了乙個需求,由於基礎映象標準發生變更,需要按照最新的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-c程式設計客棧onfig-manager \

--add-repo \

安裝 docker engine-community

安裝最新版本的 docker engine-community 和 containerd,或者轉到下一步安裝特定版本:

$ sudo ywjeecmtrum 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-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- docker-ce-cli- 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個步驟,我們便完成了應用自定義映象的構建,後續我們自己的應用中直接使用自定義映象即可,這樣做的好處就是基於基礎的映象,我們可以隨意組合,構建出滿足自己應用的映象,更靈活、映象分層管理、可擴充套件。

使用EF構建企業級應用 四

本系列目錄 使用ef構建企業級應用 一 主要講資料庫訪問基類irepository及repository 的實現 使用ef構建企業級應用 二 主要講動態排序擴充套件的實現 使用ef構建企業級應用 三 主要講靈活的構建查詢條件表示式expression 使用ef構建企業級應用 四 主要講下在mvc環境...

如何構建企業級的ESB?

1 服務匯流排 esb 適合傳統企業系統應用下系統間的小報文 短訊息同步服務互動場景 服務框架 dubbo 適合網際網路系統應用下系統間的小報文 短訊息同步服務互動場景 如果服務過少,不打算進行服務治理的話,其實無需esb dubbo,直接選擇ws即可。2 mq適合系統間的可靠小報文 短訊息非同步服...

關於Docker的企業級應用

難怪docker正在迅速發展。docker,乙個開源專案。僅僅兩年,docker價值近10億美元,最近獲得了9500萬美元的資金。令人激動的是,我們看到有這麼多開發者對這個專案的熱情。然而,我將在下面討論企業使用docker本身是不夠的。許多企業it團隊解決這兩個問題 首先,開發者和運維者在優先順序...