(一)确保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:/logs
docker 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容器编排内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!