docker(四)compose 集成式应用组合

compose是docker的开源项目。当遇到需要多个docker容器共同提供服务时,可以使用compose

compose有两个重要概念:

服务service:一个应用的容器,可以包含多个若干镜像的实例

项目project:由一组关联的容器组成的一个完整业务单元

 

安装compose

curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

下载完成后,执行文件保存在/usr/local/bin下,需要添加执行方式

chmod +x  /usr/local/bin/docker-compose

验证下安装的版本

docker-compose --version

 

docker-compose使用的yaml文件来编译,启动容器

 

compose构建dubbo-admin服务

 

1.从github获取dubbo-admin源码并修改内容

git clone -b master https://github.com/apache/dubbo-admin.git

 

由于github下载代码的速度太慢了,故提供一下下载地址:

链接:https://pan.baidu.com/s/1NQsQJ6X0IPa7CwZvRY4PYA

提取码:25ig

源码下载好后,需要修改一下配置文件 ../dubbo-admin/dubbo-admin/src/main/resources/application.properties,进行如下修改:

 将 dubbo.registry.address=zookeeper://127.0.0.1:2181 修改为 

dubbo.registry.address=zookeeper://zookeeper:2181

然后保存退出即可。

2. 将dubbo-admin源码打包

下载好源码过后,进入dubbo-admin目录,执行命令:

mvn clean package -Dmaven.test.skip=true

命令执行完后,会在dubbo-admin/dubbo-admin/target目录下生成一个jar包:dubbo-admin-0.0.1-SNAPSHOT.jar。

如果你使用的是Windows的Powershell,执行上面的命令可能会报错:Unknown lifecycle phase ".test.skip=true".

只需要将-Dmaven.test.skip=true加上单引号即可:

 mvn clean package '-Dmaven.test.skip=true'

3. 构建dubbo-admin镜像

首先准备一个空文件夹,里面放两个文件,一个Dockerfile,一个就是第二步生成的jar包dubbo-admin-0.0.1-SNAPSHOT.jar。其中Dockerfile内容如下:

FROM openjdk:8-jdk-alpine
VOLUME /tmp
ADD dubbo-admin-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app.jar"]

这里面的内容很简单,不多做介绍,如果有疑惑的移步:Dockerfile文件常用指令详解

文件准备好后,在Dockerfile所在目录执行命令:

docker build -t dubbo-admin:1.0 .

注意后面有个小点点。

如果构建成功,执行命令docker images就能看到你的镜像了

 docker images

4. 编写docker-compose.yml模板文件

docker-compose.yml内容如下:

version: '3.4' 
services:
  zk_server:
    image: zookeeper:3.4
    ports:
      - 2181:2181
  dubbo-admin: 
    image: dubbo-admin:1.0
    links: 
      - zk_server:zookeeper
    depends_on: 
      - zk_server 
    ports: 
      - 7001:7001

注意:冒号(:)和短横线(-)后面都需要加一个空格,不然可能会出问题。

如果对docker-compose.yml模板文件有疑惑的,请移步:docker-compose模板文件常用指令

5.运行

在docker-compose.yml所在目录运行命令:

docker-compose up

如果没有其他问题的话,应该能正常的看到日志输出。

6.验证dubbo-admin正常运行

在浏览器输入ip:7001即可进入dubbo-admin后台,初始用户名/密码是:root/root

7.扩展

在编写docker-compose.yml之前我们手动的构建了dubbo-admin的镜像,也就是上文的第三步,其实这一步可以省略,使用的就是compose模板文件的build指令。修改后的docker-compose.yml文件内容如下:

version: '3.4' 
services:
  zk_server:
    image: zookeeper:3.4
    ports:
      - 2181:2181
  dubbo-admin: 
    build: 
      context: .
      dockerfile: Dockerfile
    links: 
      - zk_server:zookeeper
    depends_on: 
      - zk_server 
    ports: 
      - 7001:7001

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值