IDEA 中 使用Docker Compose 容器编排
2023-09-11 14:16:27 时间
IDEA 中 使用Docker Compose 容器编排
(一)确保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 的简单使用就结束了,后续不断补充,其知识点是非常多的
相关文章
- Docker学习笔记
- 【Docker异常】ERROR: dial unix docker.raw.sock: connect: connection refused
- 【Idea】idea中spring框架配置文件,无法自动提示spring配置
- nodejs&wsl&vscode&docker开发环境搭建
- java 11 完全支持Linux容器(包括Docker)
- Docker的三种网络代理配置:dockerd pull镜像代理;容器docker run网络代理;docker build代理--build-arg
- docker 每次都得source /etc/profile以及如何查看Docker容器环境变量、向容器传递环境变量
- Docker使用阿里云docker镜像加速
- 【Docker】在本地打包maven程序为docker镜像报错: Connect to localhost:2375 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1]
- 81.第十七章 企业级容器技术docker -- Docker 数据管理、Docker网络管理(九)
- 【云原生之Docker实战】使用Docker部署Filebrowser文件管理系统
- 【云原生之Docker】使用docker部署talebook个人图书管理平台
- 【云原生之Docker实战】使用docker部署 Searxng个人搜索引擎平台
- 【云原生之Docker实战】使用docker部署Jellyfin个人影音服务器
- lotus-farcaster Docker 搭建
- Docker----执行docker pull 下载镜像时报dial tcp: lookup registry-1.docker.io on 192.168.1.1:53: no such host错
- Docker----安装 docker-compose 环境
- Docker学习笔记15:docker使用之Swarm 集群管理
- Docker学习笔记14:docker使用之Machine
- Docker学习笔记13:docker使用之Compose
- Docker学习笔记07:docker使用之容器使用
- Docker学习笔记(五):Dockerfile生成历史查询、修改docker容器编码格式
- docker常用命令大集结