Docker-compose整合idea实战项目

一、Docker Compose概述

先前我们在使用Dockerfile构建镜像时,在编写好Dockerfile文件以及其他必要文件后,需要使用docker build 、docker run 等命令操作{创建,启动,停止等}容器。然而,在微服务架构体系中,一个应用系统一般包含若干个服务器,每个微服务通常都会部署多个实例,如果每个服务都要手动启停,那么这样效率太低了,而且维护也非常不方便。

因此,便有了docker compose,它可以轻松、高效地管理容器,是一个用于定义和运行多容器docker的应用程序工具。

二、Docker Compose 安装

          安装 Docker Compose 可以通过下面命令自动下载适应版本的 Compose,并为安装脚本添加执行权限

sudo curl -L https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

         查看安装是否成功

  docker-compose -v

 

Docker和compose的兼容性

compose文件格式版本

docker版本

1.01.9.1.+
2.01.10.0+
2.11.12.0+
2.21.13.0+
2.317.06.0+
3.01.13.0+
3.11.13.1+
3.217.04.0+
3.317.06.0+
3.417.09.0+

Docker版本变化说明:

Docker从1.13.x版本开始,版本分为企业版EE和社区版CE,版本号也改为按照时间线来发布,比如17.03就是2017年3月。

Docker的linux发行版的软件仓库从以前的https://apt.dockerproject.org和https://yum.dockerproject.org变更为目前的https://download.docker.com, 软件包名字改为docker-ce和docker-ee。

三、Docker-compose容器编排

前提:

YUML是一种 标记语言很直观的数据序列化格式,文件格式及编写注意事项

  • 不支持制表符tab键缩进,需要使用空格缩进

  • 通常开头缩进两个空格

  • 字符后缩进1个空格,如冒号、逗号、横杆

  • 用#号注释

  • 如果包含特殊字符用单引号引起来

  • 布尔值必须用引号括起来

1.Docker Compose配置常用字段

2.Docker Compose常用命令

docker-compose -h                             # 查看帮助
docker-compose up                            # 创建并运行所有容器
docker-compose up -d                       # 创建并后台运行所有容器
docker-compose ps                           # 显示所用容器信息
docker-compose -f docker-compose.yml up -d    # 指定模板
docker-compose down                      # 停止并删除容器、网络、卷、镜像。
docker-compose rm                         # 删除容器
docker-compose logs                     # 查看容器输出日志
docker-compose pull                     # 拉取依赖镜像
dokcer-compose config                # 检查配置
dokcer-compose config -q           # 验证yaml配置文件是否正确,有问题才有输出
docker-compose pause               # 暂停容器
docker-compose unpause           # 恢复暂停
docker-compose restart              # 重启服务
docker-compose start                 # 启动服务
docker-compose stop                 # 停止服务

3.Compose命令说明

基本的使用格式

docker-compose [options][COMMAND][ARGS...]

docker-compose选项

--verbose输出更多调试信息

--version打印版本并退出

-f,--fileFILE使用特定的compose模板文件,默认为docker-compose.yml

-p,--project-name NAME指定项目名称,默认使用目录名称

4.编排容器

  1. 先打包本地一个服务的sharding-jdbc-server-2.2.2-SNAPSHOT.jar到服务器上
    就放在/home/image
  2. 在该目录下编写一个Dockerfile,用来构建镜像

    FROM jdk1.8:latest
    MAINTAINER docker
    WORKDIR /
    # hello-docker-0.0.1-SNAPSHOT.jar为maven打包生成的,app.jar是被打进镜像中jar
    ADD sharding-jdbc-server-2.2.2-SNAPSHOT.jar /sharding-jdbc-server-2.2.2-SNAPSHOT.jar

    # 对外暴露的端口
    EXPOSE 8097
    ENTRYPOINT ["java","-jar","/sharding-jdbc-server-2.2.2-SNAPSHOT.jar"]

  3. 在home下创建一个docker-compose.yml 命令。

    这里需要展示两种方式的编排:
    第一种是已存在的镜像,直接构建容器并启动
    第二种是不存在的镜像,需要通过DockerFile先build镜像再构建容器启动

    version: '3' #compose 文件版本(1.2.x+ 用3即可)
    services:
    sharding-jdbc-sever:
    container_name: sharding-docker-test2.1
    build:
    context: ./image
    dockerfile: Dockerfile
    ports:
    - '8099:8090'

    redis-server-compose:
    image: redis:latest
    ports:
    - '63790:6379'

  4. 执行开启docker-compose -f docker-compose.yml up -d

 docker-compose ps  docker images   docker ps

5.idea整合代码编排容器

1.准备

一方面我们需要docker安装环境,也需要安装docker compose工具;
下载docker并安装,地址为
https://desktop.docker.com/win/main/amd64/Docker%20Desktop%20Installer.exe
配置

2. 创建docker-compose.yml文件
在springboot项目的根目录pom.xml文件所在目录下,一般docker-compose.yml与父工程的pom.xml是同级的,使用其对子工程进行构建镜像和容器编排
docker-compose.yml:

version: '3' #compose 文件版本(1.2.x+ 用3即可)
services:
  sharding-sever:
    container_name: sharding-docker-test2.1
    build:
      context: ./sharding-jdbc-server
      dockerfile: Dockerfile
    ports:
      - '8099:8090'

 redis-server:
    image: redis:latest
    ports:
    - '63790:6379'

 创建一个docker-compose configrations执行就ok了

 第一个容器:通过dockerfile文件先构建镜像再创建启动容器

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大梁子程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值