docker CI部署样例

docker CI部署样例

想学习更全面的docker知识可以点击右侧: Docker的概念及基本指令学习(全)

记得先创建挂载出去的文件夹,网上教学据说不创建也能用,但是可能是我自己环境原因不太行,所以就提前创建好了。整套流程用的是LDAP(管理账号用的)+ heimdall(门户站点)+gitlab (代码仓库)+ jenkins (持续构建、流水线)+redmine(饭票)+ sonar (代码质量检测工具)+nextcloud(网盘) 部分功能持续更新中......

version: '3.1'

services:

  hs-ldap:
    image: osixia/openldap:latest
    hostname: hs-ldap
    restart: always
    ports:
      - "10001:389"
    volumes:
      - /home/docker_vol/openldap/slapd/database:/var/lib/ldap
      - /home/docker_vol/openldap/slapd/config:/etc/ldap/slapd.d
      - /etc/localtime:/etc/localtime:ro
    environment:
      - LDAP_ORGANISATION=jn
      - LDAP_DOMAIN=jn.com
      - LDAP_ADMIN_PASSWORD=P@ssword
      - LDAP_CONFIG_PASSWORD=P@ssword
      - TZ=Asia/Shanghai

  redmine:
    image: redmine
    restart: always
    ports:
      - "10003:3000"
    volumes:
      - /home/docker_vol/redmine/files:/usr/src/redmine/files
      - /home/docker_vol/redmine/log:/usr/src/redmine/log
      - /home/docker_vol/redmine/data:/home/redmine/data
      - /home/docker_vol/redmine/config/configuration.yml:/usr/src/redmine/config/configuration.yml
      - /home/docker_vol/redmine/plugins:/usr/src/redmine/plugins
      - /etc/localtime:/etc/localtime:ro
    environment:
      REDMINE_DB_MYSQL: db
      REDMINE_DB_PASSWORD: schoolcloud
      REDMINE_SECRET_KEY_BASE: supersecretkey
      REDMINE_DB_ENCODING: utf8

  db:
    image: mysql:5.7
    restart: always
    ports:
      - "10010:3306"
    command: mysqld  --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    volumes:
      - /home/docker_vol/redmine/mysql/data:/var/lib/mysql
      - /home/docker_vol/redmine/mysql/conf:/etc/mysql/conf.d
      - /etc/localtime:/etc/localtime:ro
    environment:
      MYSQL_ROOT_PASSWORD: schoolcloud
      MYSQL_DATABASE: redmine
      TZ: Asia/Shanghai
      
  db_nextcloud:
    image: mysql:5.7
    restart: always
    ports:
      - "10011:3306"
    command: mysqld  --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    volumes:
      - /home/docker_vol/nextcloud/mysql/data:/var/lib/mysql
      - /home/docker_vol/nextcloud/mysql/conf:/etc/mysql/conf.d
      - /etc/localtime:/etc/localtime:ro
    environment:
      MYSQL_ROOT_PASSWORD: schoolcloud
      MYSQL_PASSWORD: schoolcloud
      MYSQL_DATABASE: nextcloud
      MYSQL_USER: nextcloud
      TZ: Asia/Shanghai
    
  devops-nextcloud:
    image: nextcloud
    restart: always
    ports:
      - "10002:80"
    volumes:
      - /home/docker_vol/nextcloud/html1:/var/www/html
      - /etc/localtime:/etc/localtime:ro
    environment:
      REDMINE_DB_MYSQL: db_nextcloud
      REDMINE_DB_PASSWORD: schoolcloud
      REDMINE_SECRET_KEY_BASE: supersecretkey
      REDMINE_DB_ENCODING: utf8

  heimdall:
    image: linuxserver/heimdall
    restart: always
    container_name: heimdall
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Shanghai
    volumes:
      - /home/docker_vol/heimdall/config:/config
    ports:
      - 80:80
      - 443:443
    restart: unless-stopped
  gitlab:
    privileged: true
    image: gitlab/gitlab-ce
    restart: always
    ports:
      - "5443:443"
      - "82:82"
      - "2222:22"
    volumes:
      - /home/docker_vol/gitlab/config:/etc/gitlab
      - /home/docker_vol/gitlab/data:/var/opt/gitlab
      - /home/docker_vol/gitlab/logs:/var/log/gitlab
    tty: true
  jenkins:
    privileged: true
    tty: true
    image: jenkins/jenkins:2.289.1-lts-centos7
    restart: always
    ports:
      - "9302:8080"
      - "50000:50000"
    volumes:
      - /home/docker_vol/jenkins:/var/jenkins_home
      - /var/run/docker.sock:/var/run/docker.sock
  sonarqube:
    restart: always
    image: sonarqube
    tty: true
    environment:
      - SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true
    ports:
      - "9000:9000"
    

制作整理不易,以上内容均为原创(参考了部分官方文档和老师整理的案例)。如要引用请附上本文链接,如有疑问可以在评论区畅所欲言,作者看到会第一时间回复,欢迎交流!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

么贺贵

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

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

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

打赏作者

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

抵扣说明:

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

余额充值