IDEA中使用Docker Compose容器編排的實(shí)現(xiàn)
(一)確保idea 中連接到docker

(二)打包鏡像
我這里測(cè)試的是前后分離項(xiàng)目 如果是微服務(wù)中呢,由于前文中在pom.xml 中綁定了idea docker 打包插件 在其 父工程中使用 打包命令 即可將其子模塊 打成一個(gè)個(gè)鏡像
(三)Compos編排文件編寫(xiě)
docker compose 使用鏡像編排
version: '3' #compose 文件版本(1.2.x+ 用3即可) services: #指定服務(wù)名 建議還是與項(xiàng)目名一致 雖然其并沒(méi)有什么實(shí)際性聯(lián)系 lei-server: #我這里是采用 鏡像編排 當(dāng)然也可以使用 dockerfile image: registry.cn-chengdu.aliyuncs.com/leileideve/cattle-web:latest #從起方式 restart: always #端口映射 ports: - 6543:6543 #數(shù)據(jù)卷掛載 volumes: - /docker/logs/server:/data/logs/ # 指定編排服務(wù)名 lei-web: #image: 后為 需要編排的鏡像 默認(rèn)從本地服務(wù)器尋找 ,未找到則從dokcerhub中尋找 image: app-fontend restart: always ports: - 8888:8888 volumes: - /docker/logs/web:/logs

docker compose 使用dokcerfile 編排
version: '3' services: # 后端springboot容器 server: container_name: lei-server-haha # 容器名為'xiao-xiao-su-api' restart: always # 重啟策略: 容器退出時(shí)總是重啟容器 build: context: ./ # 指定設(shè)定上下文根目錄,然后以該目錄為準(zhǔn)尋找Dockerfile dockerfile: ./docker/server/Dockerfile #DockerFile 真正所在位置 working_dir: /app # 設(shè)置工作目錄為容器內(nèi)的app文件夾 environment: TZ: Asia/Shanghai volumes: # 掛載文件 - ./logs/:/app/log # 映射容器產(chǎn)生的日志到主機(jī)的logs文件夾 ports: # 映射端口 - 7777:6543 # 前端項(xiàng)目 web: container_name: lei-web-haha # 容器名為'lei-web-haha' restart: always # 重啟策略: 容器退出時(shí)總是重啟容器 build: context: ./ # 指定設(shè)定上下文根目錄,然后以該目錄為準(zhǔn)尋找Dockerfile dockerfile: ./docker/web/Dockerfile #DockerFile 真正所在位置 environment: TZ: Asia/Shanghai ports: - 8899:8888 # 映射端口
使用dockerfile 和鏡像編排的區(qū)別
dockerfile 每次編排需要?jiǎng)?chuàng)建一個(gè)新鏡像 然后啟動(dòng)容器實(shí)例
使用images則是在原本鏡像中 新啟動(dòng)一個(gè)容器實(shí)例
docker-compose.yml 一般都是放在項(xiàng)目最外層
(四)idea 中操作docker compose
未使用時(shí) 查看服務(wù)器 正在運(yùn)行的容器列表

idea 中操作

運(yùn)行services 其實(shí)質(zhì)是執(zhí)行了docker compose 命令 docker-compose up -d (當(dāng)compose文件 為標(biāo)準(zhǔn)的 docker-compose.yml 時(shí)) 如不標(biāo)準(zhǔn) 則實(shí)質(zhì)時(shí) 用-f 參數(shù)指定文件名 與 docker build 命令類似 (docker-compose -f dockerdemo.yml up -d)
docker compose 常用命令 以 tomcat 為例子
docker-compose up -d 容器 構(gòu)建建啟動(dòng)容器 exmaple: docker-compose up -d tomcat 構(gòu)建建啟動(dòng)tomcat容器 docker-compose exec tomcat bash 登錄到tomcat容器中 docker-compose down 刪除所有容器,鏡像 docker-compose ps 顯示所有容器 docker-compose restart 容器ID 重新啟動(dòng)容器 docker-compose build tomcat 構(gòu)建鏡像 。 docker-compose build --no-cache tomcat 不帶緩存的構(gòu)建。 docker-compose logs tomcat 查看tomcat的日志 docker-compose logs -f tomcat 查看tomcat的實(shí)時(shí)日志
查看Linux虛擬機(jī) 容器信息 服務(wù)名 是默認(rèn)的 docker compose 所在父項(xiàng)目名+ 自定義服務(wù)名+數(shù)字

訪問(wèn)測(cè)試

docker compose 的簡(jiǎn)單使用就結(jié)束了,后續(xù)不斷補(bǔ)充,其知識(shí)點(diǎn)是非常多的
到此這篇關(guān)于IDEA中使用Docker Compose容器編排的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)IDEA使用Docker Compose容器編排內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring AOP手動(dòng)實(shí)現(xiàn)簡(jiǎn)單動(dòng)態(tài)代理的代碼
今天小編就為大家分享一篇關(guān)于Spring AOP手動(dòng)實(shí)現(xiàn)簡(jiǎn)單動(dòng)態(tài)代理的代碼,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-03-03
使用Spring Data R2DBC +Postgres實(shí)現(xiàn)增刪改查功能
這篇文章主要介紹了使用Spring Data R2DBC +Postgres實(shí)現(xiàn)增刪改查功能,本文通過(guò)兩種方法給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03
Spring AOP面向切面編程實(shí)現(xiàn)及配置詳解
這篇文章主要介紹了Spring AOP面向切面編程實(shí)現(xiàn)及配置詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09
IDEA連接MySQL提示serverTimezone的問(wèn)題及解決方法
很多朋友私聊小編,使用IDEA軟件連接MySQL數(shù)據(jù)庫(kù)時(shí)總是提示Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone' property manually.的錯(cuò)誤,小編就不一一回復(fù)大家了,下面小編把我的解決方法分享到腳本之家平臺(tái),需要的朋友參考下吧2021-05-05

