docker-compose部署应用----All-In-One

docker-compose All-In-One

部署Nginx

  1. docker-compose.yml

    services:
      nginx:
        image: nginx
        restart: always
        container_name: nginx
        environment:
          - TZ=Asia/Shanghai
        healthcheck:
          test: ['CMD', '/bin/healthcheck.sh']
          interval: 1m
          timeout: 5s
          retries: 3
        volumes:
          - /etc/nginx/:/etc/nginx/
          - /var/log/nginx:/var/log/nginx
          - /etc/hosts:/etc/hosts
          - ./healthcheck.sh:/bin/healthcheck.sh
        ports:
          - 80:80
          - 443:443
    
  2. healthcheck.sh

    #!/bin/bash
    
    service nginx status || exit 1
    
  3. 运行

    docker-compose up -d
    

部署RocketMQ

  1. docker-compose.yml

    version: '3.8'
    
    services:
      rmqnamesrv:
        image: apache/rocketmq:4.9.1
        container_name: rmqnamesrv
        ports:
          - 9876:9876
        volumes:
          - ./broker.conf:/home/rocketmq/rocketmq-4.9.1/conf/broker.conf
        environment:
          JAVA_OPT_EXT: "-Duser.home=/home/rocketmq -Xms512M -Xmx512M -Xmn128m"
        command: ["sh","mqnamesrv"]
    
      broker:
        image: apache/rocketmq:4.9.1
        container_name: rmqbroker
        ports:
          - 10909:10909
          - 10911:10911
          - 10912:10912
        volumes:
          - ./broker.conf:/home/rocketmq/rocketmq-4.9.1/conf/broker.conf
        links:
          - rmqnamesrv:namesrv
        environment:
          NAMESRV_ADDR: namesrv:9876
          JAVA_OPT_EXT: "-Duser.home=/home/rocketmq -Xms512M -Xmx512M -Xmn128m"
        command: ["sh","mqbroker","-c","../conf/broker.conf","autoCreateTopicEnable=true"]
    
      rmqdashboard:
        image: apacherocketmq/rocketmq-dashboard:latest
        container_name: rocketmq-dashboard
        ports:
          - 8080:8080
        environment:
            JAVA_OPTS: "-Drocketmq.namesrv.addr=namesrv:9876"
        links:
          - rmqnamesrv:namesrv
    
  2. broker.conf

    # 修改为宿主机IP
    brokerIP1 = 127.0.0.1
    brokerClusterName = DefaultCluster
    brokerName = broker
    brokerId = 0
    deleteWhen = 04
    fileReservedTime = 48
    brokerRole = ASYNC_MASTER
    flushDiskType = ASYNC_FLUSH
    
  3. 启动

    • 先修改broker.conf,将“127.0.0.1”改为服务器的ip
    • "docker-compose up -d",启动docker

部署Jenkins

  1. yaml文件

    version: '3.0'
    services:
      jenkins:
        image: docker.io/jenkins/jenkins:latest
        container_name: jenkins
        restart: always
        privileged: true
        logging:
          driver: "json-file"
          options:
            max-size: "2g"
            max-file: "14"
        volumes:
          - /etc/localtime:/etc/localtime:ro
          - /software/jenkins/data:/var/jenkins_home
          - /etc/sysconfig/docker:/etc/sysconfig/docker
          - /usr/bin/docker:/usr/bin/docker
          - /var/run/docker.sock:/var/run/docker.sock
        ports:
          - 8080:8080
    
posted @ 2024-05-23 17:53  ヾ(o◕∀◕)ノヾ  阅读(23)  评论(0)    收藏  举报