docker 不使用yml批量部署服務

2022-02-18 20:06:52 字數 1601 閱讀 1212

回到目錄

有時,我們在進行持續整合環境有時,有時yml環境是沒有的,它可能只提供了docker工具,而docker-compose這個大傢伙可能不被提供,而這樣我們如果希望自動化構建解決方案下所有的專案,就需要寫sh指令碼了,需要把需要打包,發布,映象的專案寫到咱們的陣列裡,然後去遍歷它!

一 批量還原和發布專案

#!/bin/sh

# 宣告需要發布的專案

declare -a projectlist=(

'../beijing.tax''

../jiangsu.tax')

# 恢復包依賴與發布

for project in"$

"doecho -e "

\e[33mworking on $(pwd)/$project

"echo -e "

\e[33m\tremoving old publish output

"pushd $(

pwd)/$project

rm -rf obj/docker/publish

echo -e "

\e[33m\trestoring project

"dotnet restore

echo -e "

\e[33m\tbuilding and publishing projects

"dotnet publish -o obj/docker/publish

popd

done

二 批量生成映象

#!/bin/sh

export registry_url="

ciregistry.i-counting.cn:8443

"# 宣告需要發布的專案

declare -a projectlist=(

'../beijing.tax,lind/bejing.tax''

../jiangsu.tax,lind/jiangsu.tax')

for project in"$

"doarr=($)

dir=$

image=$

echo

"dir

"echo $dir

pushd $(

pwd)/$dir

docker build --no-cache --pull -t $image ./docker tag $image $registry_url/$image

#docker push $registry_url/$image

done

然後我們可以通過docker images "lind/*"來檢視所有以lind開頭的映象檔案

一般地,我們的指令碼都放在解決方案的根目錄,建立乙個deploy,把自動化指令碼放進去就行了

感謝各位的閱讀!

有時,達到一種目的的方式可能是多種多樣的,選擇適合我們的一種就可以了!

回到目錄

使用docker進行mongodb集群部署

使用replica set 的方式部署mongodb,這裡我們部署乙個primary,兩個secondary,乙個client 首先搭建乙個network bridge docker network create mongo network然後再執行3個mongo容器,建立的集群名稱是 mongo ...

執行整合測試mysql使用docker部署

整合測試需要根據測試用例,使用flywaydb管理資料庫的指令碼資訊,每次生產上線前,必須通過整合測試,驗證資料的準確性,所以每次整合測試都是使用的docker的資料庫例項mysql 5.7.16 instance group1。備註 這裡不是完整專案的配置資訊,只是跟docker mysql相關的...

django之使用docker進行環境部署(十三)

1.建立乙個自定義的橋接網路 2.安裝nginx mkdir p data nginx conf.d mkdir p data nginx html mkdir p data nginx logs docker cp 621bdc38758d etc nginx nginx.conf data ng...