前言
臨下班前,樓主接到了乙個需求,由於基礎映象標準發生變更,需要按照最新的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團隊解決這兩個問題 首先,開發者和運維者在優先順序...