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

(二)打包鏡像
我這里測試的是前后分離項目 如果是微服務(wù)中呢,由于前文中在pom.xml 中綁定了idea docker 打包插件 在其 父工程中使用 打包命令 即可將其子模塊 打成一個個鏡像
(三)Compos編排文件編寫
docker compose 使用鏡像編排
version: '3' #compose 文件版本(1.2.x+ 用3即可) services: #指定服務(wù)名 建議還是與項目名一致 雖然其并沒有什么實際性聯(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 # 重啟策略: 容器退出時總是重啟容器 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 # 前端項目 web: container_name: lei-web-haha # 容器名為'lei-web-haha' restart: always # 重啟策略: 容器退出時總是重啟容器 build: context: ./ # 指定設(shè)定上下文根目錄,然后以該目錄為準(zhǔn)尋找Dockerfile dockerfile: ./docker/web/Dockerfile #DockerFile 真正所在位置 environment: TZ: Asia/Shanghai ports: - 8899:8888 # 映射端口
使用dockerfile 和鏡像編排的區(qū)別
dockerfile 每次編排需要創(chuàng)建一個新鏡像 然后啟動容器實例
使用images則是在原本鏡像中 新啟動一個容器實例
docker-compose.yml 一般都是放在項目最外層
(四)idea 中操作docker compose
未使用時 查看服務(wù)器 正在運(yùn)行的容器列表

idea 中操作

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

訪問測試

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

