时间:2021-05-20
(一)确保idea 中连接到docker
(二)打包镜像
我这里测试的是前后分离项目 如果是微服务中呢,由于前文中在pom.xml 中绑定了idea docker 打包插件 在其 父工程中使用 打包命令 即可将其子模块 打成一个个镜像
(三)Compos编排文件编写
docker compose 使用镜像编排
version: '3' #compose 文件版本(1.2.x+ 用3即可)services: #指定服务名 建议还是与项目名一致 虽然其并没有什么实际性联系 lei-server: #我这里是采用 镜像编排 当然也可以使用 dockerfile image: registry.cn-chengdu.aliyuncs.com/leileideve/cattle-web:latest #从起方式 restart: always #端口映射 ports: - 6543:6543 #数据卷挂载 volumes: - /docker/logs/server:/data/logs/ # 指定编排服务名 lei-web: #image: 后为 需要编排的镜像 默认从本地服务器寻找 ,未找到则从dokcerhub中寻找 image: app-fontend restart: always ports: - 8888:8888 volumes: - /docker/logs/web:/logsdocker compose 使用dokcerfile 编排
version: '3'services: # 后端springboot容器 server: container_name: lei-server-haha # 容器名为'xiao-xiao-su-api' restart: always # 重启策略: 容器退出时总是重启容器 build: context: ./ # 指定设定上下文根目录,然后以该目录为准寻找Dockerfile dockerfile: ./docker/server/Dockerfile #DockerFile 真正所在位置 working_dir: /app # 设置工作目录为容器内的app文件夹 environment: TZ: Asia/Shanghai volumes: # 挂载文件 - ./logs/:/app/log # 映射容器产生的日志到主机的logs文件夹 ports: # 映射端口 - 7777:6543# 前端项目 web: container_name: lei-web-haha # 容器名为'lei-web-haha' restart: always # 重启策略: 容器退出时总是重启容器 build: context: ./ # 指定设定上下文根目录,然后以该目录为准寻找Dockerfile dockerfile: ./docker/web/Dockerfile #DockerFile 真正所在位置 environment: TZ: Asia/Shanghai ports: - 8899:8888 # 映射端口使用dockerfile 和镜像编排的区别
dockerfile 每次编排需要创建一个新镜像 然后启动容器实例
使用images则是在原本镜像中 新启动一个容器实例
docker-compose.yml 一般都是放在项目最外层
(四)idea 中操作docker compose
未使用时 查看服务器 正在运行的容器列表
idea 中操作
运行services 其实质是执行了docker compose 命令 docker-compose up -d (当compose文件 为标准的 docker-compose.yml 时) 如不标准 则实质时 用-f 参数指定文件名 与 docker build 命令类似 (docker-compose -f dockerdemo.yml up -d)
docker compose 常用命令 以 tomcat 为例子
docker-compose up -d 容器 构建建启动容器exmaple: docker-compose up -d tomcat 构建建启动tomcat容器docker-compose exec tomcat bash 登录到tomcat容器中docker-compose down 删除所有容器,镜像docker-compose ps 显示所有容器docker-compose restart 容器ID 重新启动容器docker-compose build tomcat 构建镜像 。 docker-compose build --no-cache tomcat 不带缓存的构建。docker-compose logs tomcat 查看tomcat的日志 docker-compose logs -f tomcat 查看tomcat的实时日志查看Linux虚拟机 容器信息 服务名 是默认的 docker compose 所在父项目名+ 自定义服务名+数字
访问测试
docker compose 的简单使用就结束了,后续不断补充,其知识点是非常多的
到此这篇关于IDEA中使用Docker Compose容器编排的实现的文章就介绍到这了,更多相关IDEA使用Docker Compose容器编排内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Compose是Docker的服务编排工具,主要用来构建基于Docker的复杂应用,Compose通过一个配置文件来管理多个Docker容器,非常适合组合使用多
由于默认的bridge桥接网络,重启容器后会改变ip地址。在一些场景下我们希望固定容器IP地址。docker-compose是docker的一个编排工具,相对于
概要docker-compose可以方便组合多个docker容器服务,但是,当容器服务之间存在依赖关系时,docker-compose并不能保证服务的启动顺序.
docker-compose使用示例利用docker搭建一个mysql+javaservice+nginx,总共4个docker容器,如果采用dockerrun
DockerComposeCompose简介Compose是用于定义和运行多容器Docker应用程序的工具。通过Compose,您可以使用YML文件来配置应用程