docker部署微服務

目錄

docker操作命令

鏡像操作命令

拉取鏡像

導出鏡像

刪除鏡像

加載鏡像

推送鏡像

部署

pom文件加上

在每個模塊根目錄加上DockerFile文件

項目根目錄加上docker-compose.yml文件

打包,clean,package

服務器上新建文件夾

測試docker-compose是否安裝

構建鏡像

檢查配置是否有問題,在新建的目錄下

啟動


docker操作命令

鏡像操作命令

# 查看 docker 命令及幫助
docker --help
# 查看指定命令的幫助
docker [command] --help
# 查看當前所擁有的鏡像
docker images

拉取鏡像

# 拉取鏡像,未指定版本則拉取最新版,latest
docker pull [ image : {version} ]
# 示例:拉取 nginx1.22版
docker pull nginx:1.22

導出鏡像

# 導出一個鏡像到磁盤的指定文件,同一個鏡像有多個版本時,需要指定版本號
docker save -o [file] [image]:[tag]
# 示例:將 nginx 鏡像 導出到 /image/mynginx.tar 文件中
docker save -o /image/mynginx.tar nginx

刪除鏡像

# 刪除一個鏡像,(刪除鏡像時必須指定版本號)
docker rmi [image]:[tag]
# 示例:刪除 nginx 1.22
docker rmi nginx:1.22

加載鏡像

# 將程序的鏡像文件加載到 docker 中, ( -q 表示是否輸出加載的過程)
docker load -i [ file ] { -q }
# 示例:將 nginx鏡像 文件加載到 docker中
docker load -i /image/mynginx.tar

推送鏡像

# 將鏡像文件推送到遠程
docker push -a [name]:[tag]

部署

pom文件加上

    <build><finalName>app</finalName><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>

在每個模塊根目錄加上DockerFile文件

# 基礎鏡像
FROM openjdk:8
# 創建容器默認進入的目錄
WORKDIR /app
# 復制jar包到容器中
COPY app.jar /app/app.jar
# 暴露端口 應該保持和源代碼端口一致
EXPOSE 6000
# 啟動命令
ENTRYPOINT ["java","-jar","-Xms100m","-Xmx100m"]
CMD ["app.jar"]

項目根目錄加上docker-compose.yml文件

version: "3.8"networks:# 自定義docker網絡名test:services:# 定義服務名字,只要不沖突即可mail-gateway:# 鏡像名字或者idimage: mail-gateway# 自定義容器名字container_name: mail-gateway# 映射端口ports:- "88:88"# 網絡networks:- testmail-auth:image: mail-authcontainer_name: mail-authports:- "6000:6000"networks:- testmail-email:image: mail-emailcontainer_name: mail-emailports:- "20000:20000"networks:- testmail-user:image: mail-usercontainer_name: mail-userports:- "10000:10000"networks:- testmail-common:image: mail-commoncontainer_name: mail-common
#    ports:
#      - "10000:10000"networks:- test

打包,clean,package

服務器上新建文件夾

測試docker-compose是否安裝

docker-compose --version

構建鏡像

docker build -t mail-auth /www/wwwroot/yangsaiya/project/distributed-mail/mail-auth/

檢查配置是否有問題,在新建的目錄下

docker-compose config -q

啟動

docker-compose up

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

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

相關文章

基于springboot和微信小程序的流浪動物管理系統

基于springboot和微信小程序的流浪動物管理系統 內容簡介 基于微信小程序實現的流浪動物管理系統&#xff0c;該系統針對用戶與管理員兩種角色進行開發。 1、提供流浪動物的信息查詢功能&#xff0c;包括品種、年齡、性別、健康狀況等&#xff0c;提供救助活動報名功能。 2…

5.1 PBR基礎 BRDF介紹

基于物理的渲染&#xff08;Physically Based Rendering&#xff0c;PBR&#xff09;是指使用基于物理原理和微平面理論建模的著色/光照模型&#xff0c;以及使用從現實中測量的表面參數來準確表示真實世界材質的渲染理念。 一、反射率方程 理論基礎放在參考鏈接里。 直接開始…

【uniapp】uniapp開發小程序定制uni-collapse(折疊面板)

需求 最近在做小程序&#xff0c;有一個類似折疊面板的ui控件&#xff0c;效果大概是這樣 代碼 因為項目使用的是uniapp&#xff0c;所以打算去找uniapp的擴展組件&#xff0c;果然給我找到了這個叫uni-collapse的組件&#xff08;鏈接&#xff1a;uni-collapse&#xff09…

超詳細的接口測試

本文主要分為兩個部分&#xff1a; 第一部分&#xff1a;主要從問題出發&#xff0c;引入接口測試的相關內容并與前端測試進行簡單對比&#xff0c;總結兩者之前的區別與聯系。但該部分只交代了怎么做和如何做&#xff1f;并沒有解釋為什么要做&#xff1f; 第二部分&#xf…

ShellCode漏洞

ShellCode漏洞 可以查看如下網址&#xff1a; https://www.cnblogs.com/kakadewo/p/12996878.html 定義&#xff1a; shellcode是一段用于利用軟件漏洞而執行的代碼&#xff0c;shellcode為16進制之機械碼&#xff0c;以其經常讓攻擊者獲得shell而得名。shellcode常常使用機…

老鳥總結,軟件測試工程師職業發展規劃路線,入門到沖擊大廠...

目錄&#xff1a;導讀 前言一、Python編程入門到精通二、接口自動化項目實戰三、Web自動化項目實戰四、App自動化項目實戰五、一線大廠簡歷六、測試開發DevOps體系七、常用自動化測試工具八、JMeter性能測試九、總結&#xff08;尾部小驚喜&#xff09; 前言 1、測試工程師發展…

YOCTO 下載repo工具失敗解決辦法

curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o repocp repo ~/binchmod ax ~/bin/repo如果使用時報錯&#xff0c; 切換ubuntu 到 python3 版本。gedit repo 修改repo默認鏈接地址&#xff1a;REPO_URL "https://gerrit.googlesource.com/git-repo"…

Spring AOP-面向切面編程概念

Spring AOP-面向切面編程概念 AOP&#xff08;面向切面編程&#xff09;是編程范式的一種&#xff0c;它允許程序員將橫切關注點&#xff08;cross-cutting concerns&#xff09;模塊化。在面向切面編程中&#xff0c;這些橫切關注點通常體現為在多個點重復出現的代碼&#xf…

Android設計模式--適配器模式

至誠之道&#xff0c;可以前知 一&#xff0c;定義 適配器模式把一個類的接口變換成客戶端所期待的另一種接口&#xff0c;從而使原本因接口不匹配而無法在一起工作的兩個類能夠在一起工作。 適配器模式在我們的開發中使用率極高&#xff0c;ListView&#xff0c;GridView&am…

面試cast:reinterpret_cast/const_cast/static_cast/dynamic_cast

目錄 1. cast 2. reinterpret_cast 3. const_cast 3.1 加上const的情況 3.2 去掉const的情況 4. static_cast 4.1 基本類型之間的轉換 4.2 void指針轉換為任意基本類型的指針 4.3 子類和父類之間的轉換 5. dynamic_cast 5.1 RTTI(Run-time Type Identification) 1.…

Selenium實現多頁面切換

當使用 Selenium 進行自動化測試或爬取數據時&#xff0c;有時需要處理多個頁面之間的切換。以下是一些可能需要多頁面切換的情況&#xff1a; 1、打開新窗口/頁面&#xff1a; 在當前頁面上點擊鏈接、按鈕或執行某些操作時&#xff0c;可能會打開一個新的窗口或頁面。此時&a…

【element優化經驗】怎么讓element-ui中表單多語言切換排版不亂

目錄 前言&#xff1a; 痛點&#xff1a; 1.左對齊&#xff0c;右對齊在中文和外語情況下字數不同&#xff0c;固定寬度會使名稱換行&#xff0c;不在整行對齊&#xff0c;影響美觀。 2.如果名稱和輸入框不在一行&#xff0c;會使頁面越來越長 3.label-width值給變量&#…

隨筆記錄-springmvc_ResourceHandlerRegistry+ResourceHttpRequestHandler

環境&#xff1a;springboot-2.7.5 配置文件配置靜態資源映射 springboot配置靜態資源映射方式是通過 WebMvcAutoConfiguration 實現的 spring: # resources: # # 自springboot 2.5.5之后&#xff0c;該屬性已經被廢棄&#xff0c;使用spring.web.resources.static-locat…

爬蟲逆向你應該懂得Javascript知識

背景 大家在學習爬蟲逆向的時候&#xff0c;一般都會涉及到對js源文件進行代碼扣去&#xff0c;但是有的時候&#xff0c;你最好有js基礎&#xff0c;能發現加密或者解密在那個位置&#xff0c;或者是能用python改寫js代碼&#xff0c;這就對個人的Javascript的能力有一定要求…

Switch的使用及其注意事項

注意第五點要看清&#xff0c;case執行完后匹配沒有成功&#xff0c;如過有Default&#xff0c;將會執行Default&#xff0c;如果有case在Default之后&#xff0c;而且Default沒有break語句&#xff0c;那么將會繼續執行case的語句&#xff0c;此時case中的常量表達式只起語句標…

【Skynet 入門實戰練習】游戲模塊劃分 | 基礎功能模塊 | timer 定時器模塊 | logger 日志服務模塊

文章目錄 游戲模塊基礎功能模塊定時器模塊日志模塊通用模塊 游戲模塊 游戲從邏輯方面可以分為下面幾個模塊&#xff1a; 注冊和登錄網絡協議數據庫玩法邏輯其他通用模塊 除了邏輯劃分&#xff0c;還有幾個重要的工具類模塊&#xff1a; Excel 配置導表工具GM 指令測試機器人…

系列一、Spring整合MyBatis不忽略mapper接口同目錄的xxxMapper.xml

一、概述 默認情況下maven要求我們將xml配置、properties配置等都放在resources目錄下&#xff0c;如果我們強行將其放在java目錄&#xff0c;即將xxxMapper.xml和xxxMapper接口放在同一個目錄下&#xff0c;那么默認情況下maven打包時會將這個xxxMapper.xml文件忽略掉&#xf…

【辦公常識_1】寫好的代碼如何上傳?使用svn commit

首先找到對應的目錄 找到文件之后點擊SVN Commit

【標注數據】labelme的安裝與使用

這里寫目錄標題 下載標數據 下載 標數據 打開自動保存 創建矩形