使用docker compose一鍵部署項(xiàng)目到服務(wù)器過(guò)程
前言
該篇文章主要是使用idea通過(guò)docker-compose.yml構(gòu)建容器集合并且進(jìn)行統(tǒng)一管理更新
一、部署準(zhǔn)備
因?yàn)槲覀兊捻?xiàng)目直接部署會(huì)出現(xiàn)資源限制問(wèn)題,需要在部署項(xiàng)目的服務(wù)器的docker添加下面配置
vi /usr/lib/systemd/system/docker.service
找到ExecStart=的位置,在后面添加對(duì)應(yīng)內(nèi)容
--default-ulimit nofile=65536:65536 --default-ulimit nproc=60000:60000
二、本地idea配置docker和docker compose執(zhí)行器
如果本地安裝了docker則跳過(guò)這一步
- docker:https://download.docker.com/win/static/stable/x86_64/
- docker compose:https://github.com/docker/compose/releases
把下載好的.exe文件放入文件夾配置好對(duì)應(yīng)的指定地址

如果本來(lái)本地就安裝了docker則不用處理

三、編寫(xiě)docker-compose.yml文件
執(zhí)行在項(xiàng)目跟目錄創(chuàng)建一個(gè)docker compose文件

編寫(xiě)docker-compose.yml文件
version: '3.8' # Docker Compose 文件版本
services:
service-gateway:
image: 10.37.129.2:5000/ssyx/service-gateway:1.0.1 # 替換為你的 Harbor 地址和鏡像標(biāo)簽
container_name: service-gateway #容器名稱(chēng)
ports:
- "8000:8000" # 映射端口,根據(jù)實(shí)際情況修改(服務(wù)器端口:容器端口)
environment: # 如果你的服務(wù)需要環(huán)境變量,在這里配置
- SPRING_PROFILES_ACTIVE:dev #指定dev
volumes: # 如果有掛載目錄,在這里定義,配置日志的掛載目錄即可
- /home/docker/docker-logs/ssyx/service-gateway:/app/logs/service-gateway
restart: always # 推薦設(shè)置,服務(wù)意外停止后自動(dòng)重啟
# depends_on: # 如果有依賴(lài)的服務(wù),比如數(shù)據(jù)庫(kù),在這里定義
# - erp
service-sys:
image: 10.37.129.2:5000/ssyx/service-sys:1.0.1
container_name: service-sys #容器名稱(chēng)
ports:
- "8001:8001"
environment:
- SPRING_PROFILES_ACTIVE:dev
volumes:
- /home/docker/docker-logs/ssyx/service-gateway:/app/logs/service-gateway
restart: always
配置啟動(dòng)服務(wù)


注意:需要配置一下down刪除容器時(shí)把本地鏡像也刪除掉,因?yàn)槲覀兠看胃麓a都需要到遠(yuǎn)程倉(cāng)庫(kù)去拉取最新的鏡像,如果本地不刪除的話(huà),就不會(huì)每次去遠(yuǎn)程倉(cāng)庫(kù)拉取。

四、執(zhí)行啟動(dòng)
創(chuàng)建好之后可以點(diǎn)擊右上角的執(zhí)行,也可以直接點(diǎn)擊docker-compose.yml的啟動(dòng)標(biāo)識(shí)啟動(dòng)創(chuàng)建單個(gè)服務(wù)或者多個(gè)容器

啟動(dòng)好之后則可以通過(guò)日志查看和管理docker容器

總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
解決docker容器設(shè)置DNS不生效的問(wèn)題
文章主要介紹了如何在Docker中設(shè)置DNS,并通過(guò)兩種方式(`docker run`和`docker-compose.yml`)進(jìn)行了詳細(xì)說(shuō)明,雖然`docker run`方式可以成功設(shè)置DNS,但`docker-compose.yml`方式在某些情況下會(huì)導(dǎo)致DNS配置無(wú)效,因?yàn)槿萜鞯腵/etc/resolv.conf`文件2025-01-01
Docker安裝Oracle創(chuàng)建表空間并導(dǎo)入數(shù)據(jù)庫(kù)完整步驟
Docker提供了一種簡(jiǎn)便的方式,通過(guò)容器化我們可以在任何支持Docker 的環(huán)境中快速部署Oracle數(shù)據(jù)庫(kù),這篇文章主要介紹了Docker安裝Oracle創(chuàng)建表空間并導(dǎo)入數(shù)據(jù)庫(kù)的相關(guān)資料,需要的朋友可以參考下2025-04-04
解決在 Docker 中啟動(dòng) labelImg 的相關(guān)報(bào)錯(cuò)
文章介紹了在Ubuntu-22.04中使用Miniconda3創(chuàng)建的Python 3.10虛擬環(huán)境下安裝labelImg時(shí)遇到的兩個(gè)主要錯(cuò)誤及其解決方法:libGL報(bào)錯(cuò)和xcb插件報(bào)錯(cuò),解決方法包括安裝libGL庫(kù)和補(bǔ)齊Qt5的xcb依賴(lài)項(xiàng),感興趣的朋友跟隨小編一起看看吧2026-01-01
Linux新建用戶(hù)并允許docker及docker基本命令
這篇文章給大家介紹了Linux新建用戶(hù)并允許docker及docker的容器創(chuàng)建及基本命令講解,需要的朋友參考下本文吧2017-12-12
在Docker中利用Tomcat快速部署web應(yīng)用的方法示例
這篇文章我們就來(lái)說(shuō)一下怎么在docker中快速部署一個(gè)web應(yīng)用。文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01
如何解決docker logs無(wú)法實(shí)時(shí)輸出腳本打印的內(nèi)容
這篇文章主要介紹了如何解決docker logs無(wú)法實(shí)時(shí)輸出腳本打印的內(nèi)容問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07
Docker swarm集群部署過(guò)程詳解(包含compose.yml文件詳情)
Docker Swarm是Docker的集群管理工具,支持服務(wù)部署、副本調(diào)度、Stack管理(基于Compose文件),包含初始化集群、節(jié)點(diǎn)添加、服務(wù)更新、資源清理等操作,確保容器化應(yīng)用的高效運(yùn)行,本文給大家介紹Docker swarm集群部署包含compose.yml文件詳情,感興趣的朋友一起看看吧2025-07-07

