docker-compose编排服务

本文介绍了三种Docker Compose的安装方法,包括错误较多的方案、较慢的方案和可行的方案,并详细解析了docker-compose.yml文件的内容及服务配置。此外,还列举了常用的docker-compose命令,展示了如何通过Docker Compose实现服务的构建、启动、停止和重启。最后,强调了Docker Compose在多服务编排管理中的作用,但未提及Jenkins集成。
摘要由CSDN通过智能技术生成

安装

方案一(错误多)

安装docker-compose
yum -y install epel-release
yum -y install python-pip
pip install docker-compose
查看安装版本 docker-compose --version
卸载docker-compose
pip uninstall docker-compose

方案二(慢)

1 下载1.25.0 docker compose
sudo curl -L “https://github.com/docker/compose/releases/download/1.25.0/docker-compose- ( u n a m e − s ) − (uname -s)- (unames)(uname -m)” -o /usr/local/bin/docker-compose
2 添加可执行权限
sudo chmod +x /usr/local/bin/docker-compose
3 测试安装
sudo docker-compose --version

方案三(可行)

1 安装
https://yq.aliyun.com/articles/708974
2 解决命令不存在的问题
https://blog.csdn.net/u012322399/article/details/102756773

docker-compose案例

1 docker-compose.yml文件内容

version: '3'
services:
    ci_demo:
      container_name:
        ci_demo
      build:
       /usr/local/app/
      image:
        'ci-demo:latest'
      ports:
        - "8080:8080"
      volumes:
        - /usr/local/java/jdk1.8.0_231:/usr/local/jdk
        - /usr/local/maven/apache-maven-3.3.9:/usr/local/maven
      environment:
        TZ: 'Asia/Shanghai'
      command:
        java -jar app.jar
      restart: 
        always
    gitlab_gitlab_ce:
      container_name:
        gitlab_gitlab_ce
      image:
        'gitlab/gitlab-ce:latest'
      ports:
         - "443:443"
         - "3030:3030"
         - "2222:22"
      volumes:
        - /usr/local/gitlab/config:/etc/gitlab
        - /usr/local/gitlab/logs:/var/log/gitlab
        - /usr/local/gitlab/data:/var/opt/gitlab
      environment:
        TZ: 'Asia/Shanghai'
      restart:
        always
    sonatype_nexus3:
      container_name:
         sonatype_nexus3
      image:
         'sonatype/nexus3:latest'
      ports:
          - "9001:8081"
      volumes:
         - /usr/local/nexus-data:/nexus-data
      environment:
         TZ: 'Asia/Shanghai'
      restart:
         always
    registry:
      container_name:
          registry
      privileged:
        true
      image:
        'registry:latest'
      ports:
        - "5000:5000"
      volumes:
        - /usr/local/registry:/var/lib/registry
      environment:
        TZ: 'Asia/Shanghai'
      restart:
       always

简要解释:
version: ‘3’ 版本
services: 服务列表
ci_demo: 自定义服务名称
container_name:
ci_demo 自定义容器名称
build:
/usr/local/app/ 构建目录
image:
‘ci-demo:latest’ 使用镜像
ports:
- “8080:8080” 挂载端口
volumes:
- /usr/local/java/jdk1.8.0_231:/usr/local/jdk 挂载目录
- /usr/local/maven/apache-maven-3.3.9:/usr/local/maven
environment:
TZ: ‘Asia/Shanghai’ 时区
command:
java -jar app.jar 容器命令,会替换容器默认命令
restart:
always 重启机制

2 常用命令
docker-compose build 构建
docker-compose up [-d] 启动/更新服务[后台运行]
docker-compose down 停止服务
docker-compose start/restart 启动/重启服务
docker-compose stop 停止服务

start/restart stop 使用docker-compose已经生成的容器进行启动/停止服务,停止服务不会删除容器。docker-compose内容变动不会重新更新容器;
up/down 会生成镜像/删除镜像,docker-compose内容变动会重新更新容器;

总结

此博客实现从docker管理服务,转变从dockers-compose编排管理多个服务

TODO 尚未实现使用jekins集成docker-compose,自动构建,部署服务,CI!!!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值