通過制作docker鏡像的方式在阿里云部署前端后臺服務

前端Dockerfile文件的內容:

FROM nginx:版本,如果不指定,默認是latest

COPY dist/ /usr/share/nginx/html/dist

COPY nginx.conf /etc/nginx/nginx.conf
EXPOSE 端口


前端sh腳本文件內容:

appName=項目名

tar -xvf dist.tar

tag=$(date "+%Y%m%d%H%M%S")

echo echo "version : $appName-v$tag"

docker build -t $appName:$tag .

docker tag $appName:$tag 倉庫地址:$appName-v$tag

docker push 倉庫地址:$appName-v$tag


后端Dockerfile文件內容:

# 構建鏡像,執行命令
FROM jdk鏡像:
版本,如果不指定,默認是latest?
ENV LANG=C.UTF-8 LC_ALL=C.UTF-8
# 時區問題
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone

# 字體
# COPY fonts/simsun.ttc /usr/share/fonts/simsun.ttc
VOLUME /tmp

COPY 文件名.jar /opt/

ENTRYPOINT ["java", "-jar", "/opt/文件名.jar"]


后端sh腳本文件內容:

#!/usr/bin/env bash

#啟動腳本的時候,傳遞版號 sh *.sh V1
app_name='文件名'
app_dir=.?
tag_name=$(date "+%Y%m%d%H%M%S")

# 刪除鏡像
echo "......刪除鏡像......"
images=(`docker images | grep ${app_name} | awk '{print $1,$2}'`)
idx=1
for((i=0;i<${#images[@]};i++))
do
? ?if [ $(($idx % 2)) = 0 ];then
? ? docker rmi "${images[i-1]}:${images[i]}"
? ? echo "${images[i-1]}:${images[i]} 刪除"
? ?fi
? ?((idx++))
done

# 創建鏡像
echo "..... 創建鏡像......."
echo ?"${app_name}:${tag_name}"
docker build -f ${app_dir}/Dockerfile -t "${app_name}:${tag_name}" .

# 獲取創建完鏡像的tag id
tag_id=`docker images | grep ${app_name} | awk '{print $3}'`
echo "tag=${tag_id}"

# 推送到k8s云上
docker tag ${tag_id} 倉庫地址:${app_name}${tag_name}
docker push 倉庫地址:${app_name}${tag_name}

echo "創建鏡像完成"


具體操作步驟:

將前后端各自的腳本文件放到對應的目錄下去執行,這里有一個前提,需要有相應的docker鏡像。

docker鏡像的來源可以從公共倉庫里面下載,不過涉及到訪問外網。國內也有鏡像,不同的公司也搭建了私服。可以通過命令將鏡像打成tar包拷出來,再用命令導入到服務器上

打成tar包的命令如下:

docker save -o? 文件名.tar? nginx:版本號

導入tar包的命令如下:

docker load < 文件名.tar

導入完成后用docker images查看一下鏡像

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/69266.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/69266.shtml
英文地址,請注明出處:http://en.pswp.cn/web/69266.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Github 2025-02-04 Python開源項目日報 Top10

根據Github Trendings的統計,今日(2025-02-04統計)共有10個項目上榜。根據開發語言中項目的數量,匯總情況如下: 開發語言項目數量Python項目10TypeScript項目1Python中的算法實現集合 創建周期:2831 天開發語言:Python協議類型:MIT LicenseStar數量:178357 個Fork數量:…

yolov11模型在Android設備上運行【踩坑記錄】

0) 參考資料: https://github.com/Tencent/ncnn?tabreadme-ov-file https://github.com/pnnx/pnnx https://github.com/nihui/ncnn-android-yolov5 https://github.com/Tencent/ncnn?tabreadme-ov-file 1) &#xff1a;將xxx.pt模型轉化成 xxx.onnx ONNX&#xff08;Ope…

快速上手——.net封裝使用DeekSeek-V3 模型

??歡迎點贊 :?? 收藏 ?留言 ?? 如有錯誤敬請指正,賜人玫瑰,手留余香!??本文作者:由webmote 原創??作者格言:新的征程,用愛發電,去丈量人心,是否能達到人機合一?開工大吉 新的一年就這么水靈靈的開始了,在這里,祝各位讀者新春快樂,萬事如意! 新年伊…

2025藍橋杯JAVA編程題練習Day2

1.大衣構造字符串 問題描述 已知對于一個由小寫字母構成的字符串&#xff0c;每次操作可以選擇一個索引&#xff0c;將該索引處的字符用三個相同的字符副本替換。 現有一長度為 NN 的字符串 UU&#xff0c;請幫助大衣構造一個最小長度的字符串 SS&#xff0c;使得經過任意次…

【WebLogic】Oracle發布WebLogic 14c最新版本-14.1.2.0

根據Oracle官方產品經理的博客&#xff0c;Oracle于2024年12月20日正式對外發布了WebLogic 14c的第二個正式版本&#xff0c;版本號為 14.1.2.0.0 &#xff0c;目前官方已開放客戶端下載。該版本除繼續支持 Jakarta EE 8 版本外&#xff0c;還增加了對 Java SE 17&#xff08;J…

Spider 數據集上實現nlp2sql訓練任務

NLP2SQL&#xff08;自然語言處理到 SQL 查詢的轉換&#xff09;是一個重要的自然語言處理&#xff08;NLP&#xff09;任務&#xff0c;其目標是將用戶的自然語言問題轉換為相應的 SQL 查詢。這一任務在許多場景下具有廣泛的應用&#xff0c;尤其是在與數據庫交互的場景中&…

IDEA+DeepSeek讓Java開發起飛

1.獲取DeepSeek秘鑰 登錄DeepSeek官網 : https://www.deepseek.com/ 進入API開放平臺&#xff0c;第一次需要注冊一個賬號 進去之后需要創建一個API KEY&#xff0c;然后把APIkey記錄保存下來 接著我們獲取DeepSeek的API對話接口地址&#xff0c;點擊左邊的&#xff1a;接口…

k8s常見面試題2

k8s常見面試題2 安全與權限RBAC配置如何保護 Kubernetes 集群的 API Server&#xff1f;如何管理集群中的敏感信息&#xff08;如密碼、密鑰&#xff09;&#xff1f;如何限制容器的權限&#xff08;如使用 SecurityContext&#xff09;&#xff1f;如何防止容器逃逸&#xff0…

flutter安卓打包簽名

flutter安卓打包簽名 1.創建簽名文件 keytool -genkeypair -v -keystore my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-key-aliaskeytool 是一個用于管理密鑰和證書的命令行工具&#xff0c;通常與 Java 開發工具包 (JDK) 一起使用。my-release-…

React - jsx 語法

在 React 中&#xff0c;JSX&#xff08;JavaScript XML&#xff09;是一種語法擴展&#xff0c;它允許開發者在 JavaScript 代碼中使用類似 HTML 的語法。JSX 提升了代碼的可讀性和可維護性&#xff0c;使得編寫和構建用戶界面更加直觀。它被廣泛應用于 React 組件的定義。 一…

intra-mart實現簡易登錄頁面筆記

一、前言 最近在學習intra-mart框架&#xff0c;在此總結下筆記。 intra-mart是一個前后端不分離的框架&#xff0c;開發時主要用的就是xml、html、js這幾個文件&#xff1b; xml文件當做配置文件&#xff0c;html當做前端頁面文件&#xff0c;js當做后端文件&#xff08;js里…

Linux+Docer 容器化部署之 Shell 語法入門篇 【Shell 替代】

&#x1f380;&#x1f380;Shell語法入門篇 系列篇 &#x1f380;&#x1f380; LinuxDocer 容器化部署之 Shell 語法入門篇 【準備階段】LinuxDocer 容器化部署之 Shell 語法入門篇 【Shell變量】LinuxDocer 容器化部署之 Shell 語法入門篇 【Shell數組與函數】LinuxDocer 容…

Intellij IDEA如何查看當前文件的類

快捷鍵&#xff1a;CtrlF12&#xff0c;我個人感覺記快捷鍵很麻煩&#xff0c;知道具體的位置更簡單&#xff0c;如果忘了快捷鍵&#xff08;KeyMap&#xff09;看一下就記起來了&#xff0c;不需要再Google or Baidu or GPT啥的&#xff0c;位置&#xff1a;Navigate > Fi…

C++----繼承

一、繼承的基本概念 本質&#xff1a;代碼復用類關系建模&#xff08;是多態的基礎&#xff09; class Person { /*...*/ }; class Student : public Person { /*...*/ }; // public繼承 派生類繼承基類成員&#xff08;數據方法&#xff09;&#xff0c;可以通過監視窗口檢…

已驗證正常,Java輸入字符串生成PDF文件

Java輸入字符串生成PDF文件過程&#xff1a; 在Java開發中&#xff0c;如何將字符串轉換為 PDF 是一個常見的需求。網上找了很多例子都無法生成&#xff0c;經過多次嘗試&#xff0c;終于實現了&#xff0c;特此記錄一下。 1、引入pom.xml 添加所需的依賴 <dependency>&…

Mac M1 Comfyui 使用MMAudio遇到的問題解決?

問題1: AssertionError: Torch not compiled with CUDA enabled&#xff1f; 解決辦法&#xff1a;修改代碼以 CPU 運行 第一步&#xff1a;找到 /ComfyUI/custom_nodes/ComfyUI-MMAudio/mmaudio/ext/autoencoder/vae.py文件中的下面這兩行代碼 self.data_mean nn.Buffer(t…

從 .NET Framework 升級到 .NET 8 后 SignalR 問題處理與解決方案

隨著 .NET Framework 向 .NET 8 的遷移&#xff0c;許多開發者在使用 SignalR 時遇到了一些前后端連接、配置、調用等方面的問題。尤其是在處理 SignalR 實時通信功能時&#xff0c;升級后的一些兼容性問題可能導致應用程序無法正常工作。本文將介紹在從 .NET Framework 升級到…

2025.2.5——五、[網鼎杯 2020 青龍組]AreUSerialz 代碼審計|反序列化

題目來源&#xff1a;BUUCTF [網鼎杯 2020 青龍組]AreUSerialz 目錄 一、打開靶機&#xff0c;整理信息 二、解題思路 step 1&#xff1a;代碼審計 step 2&#xff1a;開始解題 突破protected訪問修飾符限制 三、小結 一、打開靶機&#xff0c;整理信息 直接得到一串ph…

Docker深度解析:安裝各大環境

安裝 Nginx 實現負載均衡&#xff1a; 掛載 nginx html 文件&#xff1a; 創建過載目錄&#xff1a; mkdir -p /data/nginx/{conf,conf.d,html,logs} 注意&#xff1a;在掛載前需要對 conf/nginx.conf 文件進行編寫 worker_processes 1;events {worker_connections 1024; …

docker啟動報錯code=exited, status=1/FAILURE——問題排查

問題 在某臺centos7機器上&#xff0c;啟動docker服務 sudo systemctl start docker報下列錯誤&#xff1a; ● docker.service - Docker Application Container EngineLoaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)Active: …