關於docker 的自動構建

2021-09-18 04:08:46 字數 1282 閱讀 7792

這他麼的不是廣告

現在的產品和開發環境都依賴docker,在部署的時候發現修改線上映象非常的麻煩,通常乙個完整的部署需要以下幾步:

感覺相當蛋疼。。。

使用第三方docker服務來幫助編譯映象,可以在網際網路上面直接拉取到映象,減少了繁瑣的編譯過程。這真的體現了run any where這個口號

以dockerhub舉例:

首先需要擁有dockerhub和github帳號(dockerhub的使用者名將會是docker映象的倉庫名)

建立乙個github倉庫在setting > deploy keys 中加入ssh公鑰(之後在提交**的時候會用到)

在dockerhub上建立automated倉庫

建立完之後在build settings 中找到下圖在對應位置打勾,意思是當github倉庫push**的時候自動根據dockerfile構建映象

配置dockerfile的路徑,如果dockerfile在根目錄則不需要特別處理,否則需要配置圖中的dockerfile location

push你的dockerfile到github,再看dockerhub的build details會發現已經在build映象了(文件上說五分鐘內提交的**之後構建一次,其他的則會忽略)

當映象構建完畢變成success狀態時docker pull gtg0991/php7:latest就已經可以看到已經在拉取映象了,之後dockerfile更新了也只需要在伺服器上面重新執行上面的命令就可以了,是不是方便多了

因為dockerhub 經常被牆導致直接從上面拉取不一定成功,我的代替方案是使用國內的daocloud,和dockerhub使用類似,線上環境是國外伺服器則使用dockerhub,開發環境則使用國內的docker映象。

但是有一點不好的是 dockerhub每次在master分支提交**之後,都可以將變更內容更新到latest tag,而daocloud則會自動新建立乙個tag,至於使用latest tag則需要手動將這個tag指向latest才行

shell指令碼自動構建docker

shell 指令碼需要配合dockerfile檔案來構建 源jar路徑 即jenkins構建後存放的路徑 source path gateway docker 映象 容器名字或者jar名字 這裡都命名為這個 server name gateway tag 1.0 server port 10010 ...

docker容器的構建

構建容器的方法 1 命令docker commit 執行容器的三個步驟 執行 修改 儲存映象 例子 拉取映象 docker pull centos 建立容器 docker run itd e934aafc2206 bin bash 進入容器修改容器 docker exec it e6e5f719f7...

Docker極速構建

docker極速構建指,使用docker的映象快速構建開發環境 功能模組 應用服務。本文會為你介紹一條命令,搭建出你想要的容器。構建過程中,我們會把容器的掛載目錄集中放在一起,全文中統一使用 home work做為主目錄。主目錄 home work可以換成linux命令中的變數 pwd意為當前目錄。...