亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

docker-compose如何單獨(dú)更新某個(gè)服務(wù)

 更新時(shí)間:2024年05月17日 15:32:44   作者:simplefanC  
這篇文章主要介紹了docker-compose如何單獨(dú)更新某個(gè)服務(wù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

docker-compose單獨(dú)更新某個(gè)服務(wù)

假設(shè)有一服務(wù)名為AAA(基于鏡像AAA)

步驟

  • 更新鏡像
docker build -t AAA
  • stop容器
docker-compose stop AAA
  • 刪除容器
docker-compose rm -f AAA
  • 基于更新后的鏡像重新啟動(dòng)容器
docker-compose up AAA -d

通過(guò)腳本更新docker-compose中的服務(wù)

由于服務(wù)每次重啟更新都要改配置文件,手動(dòng)輸入多個(gè)命令執(zhí)行,操作繁瑣,為了提升工作效率,現(xiàn)在使用腳本進(jìn)行升級(jí),減少升級(jí)時(shí)間。

注意:

由于腳本是基于docker-compose,所以腳本的目錄與docker-compose.yml必須放在同一個(gè)目錄下,否則無(wú)法使用。

腳本內(nèi)容

#!/bin/bash
app_name="$1"
version="$2"
 
 
apps=(
blade-admin
blade-turbine
blade-zipkin
lecent-park
lecent-pay
blade-gateway
blade-auth
blade-log
blade-desk
blade-user
lecent-process
blade-system
blade-resource
lecent-battery
lecent-community
lecent-convenience
lecent-device
lecent-operate
lecent-cabinet
lecent-trash
lecent-door
lecent-mall
lecent-terminal
lecent-open-vidu
leliven-stand-mall
)
 
 
#用已有鏡像重啟
restart(){
docker-compose stop $app_name
echo '----------容器已停止------------'
echo yes | docker-compose rm $app_name
echo '----------容器已刪除------------'
docker-compose up -d $app_name
echo '----------容器重啟成功----------'
docker-compose logs -f $app_name
}
 
#獲取新的鏡像并重啟
pull_image_restart(){
 
echo '------------開(kāi)始停止容器---------'
docker-compose stop $app_name
echo '----------容器已停止------------'
 
echo '-----------開(kāi)始刪除容器----------'
echo yes | docker-compose rm $app_name
echo '-----------容器已刪除-----------'
 
imageName=harbor.lecent.cn/blade/$app_name:$version;
docker rmi $imageName;
echo '-----------鏡像已刪除-----------';
 
echo '-------開(kāi)始替換docker-compose.yml對(duì)應(yīng)服務(wù)的版本號(hào)'
old_version=harbor.lecent.cn/blade/$app_name.*
new_version=harbor.lecent.cn/blade/$app_name:$version'"'
sed -i "s|$old_version|$new_version|g" docker-compose.yml
echo '-------------docker-compose.yml---版本替換成功'
 
echo '----------獲取新的鏡像并重啟------------'
docker-compose up -d $app_name
echo '----------容器重啟成功----------'
docker-compose logs -f $app_name
}
 
 
if [ ! -n "$1" ] ;then
    echo "服務(wù)名不能為空,請(qǐng)傳入服務(wù)名!"
    exit
elif [ ! -n "$2" ] ;then
    
     if [[ ! "${apps[@]}"  =~ "${1}" ]]; then
        echo "服務(wù):[$1] 不存在,請(qǐng)檢查后重試! "
        exit
     fi
    
 
 
    echo "服務(wù)名:["${app_name}"],用已有鏡像重啟"
    restart
else
    
     if [[ ! "${apps[@]}"  =~ "${1}" ]]; then
        echo "服務(wù):[$1] 不存在,請(qǐng)檢查后重試! "
        exit
     fi
    
    echo "服務(wù)名:["${app_name}"],版本號(hào):["${version}"],使用版本["${version}"]重啟"
    pull_image_restart
fi

用法

腳本有兩個(gè)參數(shù),第一個(gè)參數(shù)為服務(wù)名,第二個(gè)參數(shù)為鏡像版本號(hào),其中服務(wù)名為必填項(xiàng),版本號(hào)不是必填項(xiàng),當(dāng)版本號(hào)為空時(shí),用本地鏡像重啟,當(dāng)版本號(hào)不為空時(shí),用指定的版本號(hào)重啟。

  • 不傳參數(shù)時(shí)提示:
[root@node12 docker]# sh restart-compose.sh 
服務(wù)名不能為空,請(qǐng)傳入服務(wù)名!
  • 當(dāng)服務(wù)名不存在時(shí)提示:
[root@node12 docker]# sh restart-compose.sh 111
服務(wù):[111] 不存在,請(qǐng)檢查后重試!
  • 重啟某個(gè)服務(wù):
[root@node12 docker]# sh restart-compose.sh lecent-park
服務(wù)名:[lecent-park],用已有鏡像重啟
  • 以指定的版本重啟服務(wù):
[root@node12 docker]# sh up-d.sh lecent-park 1.0.6
服務(wù)名:[lecent-park],版本號(hào):[1.0.6],使用版本[1.0.6]重啟

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 解決docker掛載的目錄無(wú)法讀寫問(wèn)題

    解決docker掛載的目錄無(wú)法讀寫問(wèn)題

    這篇文章主要介紹了解決docker掛載的目錄無(wú)法讀寫問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • 教你使用docker安裝elasticsearch和head插件的方法

    教你使用docker安裝elasticsearch和head插件的方法

    這篇文章主要介紹了docker安裝elasticsearch和head插件,安裝時(shí)需要下載鏡像和修改系統(tǒng)參數(shù),本文分流程給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • Linux環(huán)境docker部署Firefox結(jié)合內(nèi)網(wǎng)穿透遠(yuǎn)程使用瀏覽器測(cè)試的示例詳解

    Linux環(huán)境docker部署Firefox結(jié)合內(nèi)網(wǎng)穿透遠(yuǎn)程使用瀏覽器測(cè)試的示例詳解

    在Docker中打開(kāi)Firefox意味著我們將在一個(gè)Docker容器中運(yùn)行Firefox瀏覽器,這對(duì)于一些特殊的測(cè)試場(chǎng)景非常有用,例如需要在不同版本的瀏覽器中進(jìn)行測(cè)試,下面是一個(gè)簡(jiǎn)單的示例,演示如何在Docker中打開(kāi)Firefox,感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • docker-compose部署mysql全過(guò)程

    docker-compose部署mysql全過(guò)程

    這篇文章主要介紹了docker-compose部署mysql全過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2016-06-06
  • 理解Docker(2):Docker 鏡像詳細(xì)介紹

    理解Docker(2):Docker 鏡像詳細(xì)介紹

    這篇文章主要介紹了理解Docker(2):Docker 鏡像詳細(xì)介紹, 鏡像(image)是動(dòng)態(tài)的容器的靜態(tài)表,有需要的可以了解下。
    2016-11-11
  • Docker容器日志查看與清理的方法(親測(cè)有效)

    Docker容器日志查看與清理的方法(親測(cè)有效)

    這篇文章主要介紹了Docker容器日志查看與清理的方法(親測(cè)有效),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • 基于Docker+K8S+GitLab/SVN+Jenkins+Harbor搭建持續(xù)集成交付環(huán)境的詳細(xì)教程

    基于Docker+K8S+GitLab/SVN+Jenkins+Harbor搭建持續(xù)集成交付環(huán)境的詳細(xì)教程

    K8S全稱是Kubernetes,是一個(gè)全新的基于容器技術(shù)的分布式架構(gòu)領(lǐng)先方案,這篇文章主要介紹了基于Docker+K8S+GitLab/SVN+Jenkins+Harbor搭建持續(xù)集成交付環(huán)境(環(huán)境搭建篇),對(duì)docker K8S持續(xù)集成交付環(huán)境相關(guān)知識(shí)感興趣的朋友一起看看吧
    2021-05-05
  • Docker堆棧的管理操作詳解

    Docker堆棧的管理操作詳解

    這篇文章主要介紹了Docker堆棧的管理操作,結(jié)合實(shí)例形式分析了Docker堆棧管理相關(guān)的新服務(wù)添加、部署、數(shù)據(jù)持久化等操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2018-06-06
  • docker內(nèi)的容器如何與宿主機(jī)共享IP的方法

    docker內(nèi)的容器如何與宿主機(jī)共享IP的方法

    本文主要介紹了docker內(nèi)的容器如何與宿主機(jī)共享IP的方法,文中根據(jù)實(shí)例編碼詳細(xì)介紹的十分詳盡,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • docker創(chuàng)建mongodb數(shù)據(jù)庫(kù)容器的方法

    docker創(chuàng)建mongodb數(shù)據(jù)庫(kù)容器的方法

    本文將通過(guò)docker創(chuàng)建一個(gè)mongodb數(shù)據(jù)庫(kù)容器,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2024-03-03

最新評(píng)論