docker-compose

 

docker-compose安装

官网地址:https://docs.docker.com/compose/install/

  • 运行此命令以下载Docker Compose的当前稳定版本
sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

由于网络问题,常常安装不上,换成国内的 

sudo curl -L "https://get.daocloud.io/docker/compose/releases/download/1.24.1/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 version 1.22.0, build 1719ceb

docker-compose基本使用

  1. mkdir -p /usr/local/docker/tomcat
  2. cd /usr/local/docker/tomcat
  3. vi docker-compose.yml
  4. version: '3'
    services:
      tomcat:
        restart: always
        image: tomcat
        container_name: tomcat
        ports:
          - 8080:8080

     

  5. systemctl start docker

  6. docker-compose up -d (后台运行) 

  7. docker-compose logs tomcat (查看日志) docker-compose logs -f tomcat (监听)

  8. docker-compose down (删除容器)

  • 启动mysql
version: '3'
services:
  mysql:
    restart: always
    image: mysql:8.0.17
    container_name: mysql
    ports:
      - 3306:3306
    environment:
      TZ: Asia/Shanghai
      MYSQL_ROOT_PASSWORD: r9PRv1$JncnjWRbq
    command:
      --default-authentication-plugin=mysql_native_password
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_general_ci
      --explicit_defaults_for_timestamp=true
      --lower_case_table_names=1
    volumes:
      - /usr/local/docker/mysql/data:/var/lib/mysql
      - /usr/local/docker/mysql/conf/mysql:/etc/mysql
      - /usr/local/docker/mysql/log:/var/log/mysql
      - /usr/local/docker/mysql/mysql-files:/var/lib/mysql-files/

第二种:

  1. 首先拉取镜像 docker pull mysql:5.7
  2. 运行容器 docker run -d -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
  3. 查看mysql容器ID docker ps
  4. 将容器中mysql的配置拷贝到conf中,注意目录层级关系会影响docker-compose挂载的配置
    mkdir -p /usr/local/docker/mysql/conf
    docker cp ae2e8348e6ea:/etc/mysql /usr/local/docker/mysql/conf
  5. 删除容器 docker -rm -f ae2e8348e6ea 通过docker-compose的方式启动
version: '3'
services:
  mysql:
    restart: always
    image: mysql:5.7
    container_name: mysql
    ports:
      - 3306:3306
    environment:
      TZ: Asia/Shanghai
      MYSQL_ROOT_PASSWORD: r9PRv1$JncnjWRbq
    command:
	  --default-authentication-plugin=mysql_native_password
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_unicode_ci
      --explicit_defaults_for_timestamp=true
      --lower_case_table_names=1
      --max_allowed_packet=128M
      --sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO"
    volumes:
      - /usr/local/docker/mysql/data:/var/lib/mysql
      - /usr/local/docker/mysql/conf/mysql:/etc/mysql
      - /usr/local/docker/mysql/log:/var/log/mysql

连接的时候出现错误 access denied for user 'root'@'*****' (using password:YES)

解决办法:进入mysql容器,mysql -uroot -pxxxx. 

use mysql;

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的root密码';

flush privileges;

备份

docker exec -it mysql mysqldump -uroot -pr9PRv1$JncnjWRbq leyou > ./leyou.sql
  • 启动gitlab ,首先下载镜像docker pull twang2218/gitlab-ce-zh ,这里下载的是汉化版 

进入/usr/local/docker/gitlab目录,创建docker-compose.yml

version: '3'
services:
  gitlab:
    image: 'twang2218/gitlab-ce-zh'
    restart: always
    hostname: '192.168.0.184'
    environment:
      TZ: 'Asia/Shanghai'
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://192.168.0.184:3000'
        gitlab_rails['time_zone'] = 'Asia/Shanghai'
        gitlab_rails['gitlab_shell_ssh_port'] = 2222
        unicorn['port'] = 8888
        nginx['listen_port'] = 3000
    ports:
      - '3000:3000'
      - '8443:443'
      - '2222:22'
    volumes:
      - /usr/local/docker/gitlab/config:/etc/gitlab
      - /usr/local/docker/gitlab/data:/var/opt/gitlab
      - /usr/local/docker/gitlab/logs:/var/log/gitlab

gitlab配置免密登录,使用ssh.进入D:\Program Files\Git\usr\bin

打开cmd,执行ssh-keygen -t rsa -C "31346337@qq.com"  将邮箱替换成自己的gitlab登录邮箱

一路回车,生成后的路径

找到id_rsa.pub文件,打开它,这就是sha256加密后的

全选复制.

配置ssh.修改成git的ssh

就可以使用shh免密pull和push了. 

  • 启动nexus3.提前创建data, mkdir -p /docker/nexus/data, 并给与读写权限 chmod 777 data 
version: '3.1'
services:
  nexus:
    restart: always
    image: sonatype/nexus3
    container_name: nexus
    ports:
      - 8081:8081
    volumes:
      - /usr/local/docker/nexus/data:/nexus-data
  • 启动docker registry(docker镜像仓库)
version: '3.1'
services:
  registry:
    restart: always
    image: registry
    container_name: registry
    ports:
      - 5000:5000
    volumes:
      - /usr/local/docker/registry/data:/var/lib/registry

查看全部镜像 http://192.168.0.184:5000/v2/_catalog

配置客户端"insecure-registries":["192.168.0.184:5000"]

vi /etc/docker/daemon.json

{
  "registry-mirrors": ["https://7lr4t6cd.mirror.aliyuncs.com"],
  "insecure-registries":["192.168.0.184:5000"]
}

Docker开启远程API   

vi /usr/lib/systemd/system/docker.service

 

需要修改的部分:

ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

修改后的部分:

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock

重启docker,使修改生效. systemctl daemon-reload   systemctl restart docker 

docker info 可以查看

开启防火墙的Docker构建端口 (查看端口开放情况 netstat -ntpl)

firewall-cmd --zone=public --add-port=2375/tcp --permanent
firewall-cmd --reload

开启防火墙systemctl start firewalld      防火墙开机启动systemctl enable firewalld

使用Maven构建Docker镜像.在应用的pom.xml文件中添加docker-maven-plugin的依赖

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <!-- docker的maven插件,官网:https://github.com/spotify/docker‐maven‐plugin -->
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>1.1.0</version>
                <executions>
                    <execution>
                        <id>build-image</id>
                        <phase>package</phase>
                        <goals>
                            <goal>build</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <imageName>192.168.10.89:5000/${project.artifactId}:${project.version}</imageName>
                    <dockerHost>http://192.168.10.89:2375</dockerHost>
                    <baseImage>java:8</baseImage>
                    <entryPoint>["java", "-jar","/${project.build.finalName}.jar"]
                    </entryPoint>
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                </configuration>
            </plugin>
        </plugins>
    </build>

  • 启动nginx (需要提前创建nginx.conf配置文件及html/xx下面的静态文件)

每个静态资源文件夹都必须放在挂载的目录下(/usr/local/docker/nginx/html),不同的静态资源文件夹在nginx.conf中配置不同的server,将root指向各自具体的目录


version: '3.1'
services:
  nginx:
    restart: always
    image: nginx
    container_name: nginx
    ports:
      # 暴露监听的端口
      - 80:80
    volumes:
      - ./conf/nginx.conf:/etc/nginx/nginx.conf
      - ./html:/usr/share/nginx/html
      - ./logs:/var/log/nginx

最简默认配置

worker_processes  1;
events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;

        location / {
            root    /usr/share/nginx/html;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }

}

 

# 启动进程,通常设置成和 CPU 的数量相等
worker_processes  1;
events {
    # epoll 是多路复用 IO(I/O Multiplexing) 中的一种方式
    # 但是仅用于 linux2.6 以上内核,可以大大提高 nginx 的性能
    use epoll;
    # 单个后台 worker process 进程的最大并发链接数
    worker_connections  1024;
}
http {
    # 设定 mime 类型,类型由 mime.type 文件定义
    include       mime.types;
    default_type  application/octet-stream;
    # sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,对于普通应用,
    # 必须设为 on,如果用来进行下载等应用磁盘 IO 重负载应用,可设置为 off,以平衡磁盘与网络 I/O 处理速度,降低系统的 uptime.
    sendfile        on;
    # 连接超时时间
    keepalive_timeout  65;
    # 设定请求缓冲
    client_header_buffer_size 2k;
    # 配置虚拟主机 192.168.141.121
    server {
    # 监听的 IP 和端口,配置 192.168.141.121:80
        listen       80;
    # 虚拟主机名称这里配置 IP 地址
        server_name  192.168.141.121;
    # 所有的请求都以 / 开始,所有的请求都可以匹配此 location
        location / {
        # 使用 root 指令指定虚拟主机目录即网页存放目录
        # 比如访问 http://ip/index.html 将找到 /usr/local/docker/nginx/html/html80/index.html
        # 比如访问 http://ip/item/index.html 将找到 /usr/local/docker/nginx/html/html80/item/index.html
            root   /usr/share/nginx/html/html80;
        # 指定欢迎页面,按从左到右顺序查找
            index  index.html index.htm;
        }
    }
    # 配置虚拟主机 192.168.141.121
    server {
        listen       8080;
        server_name  192.168.141.121;
        location / {
            root   /usr/share/nginx/html/html8080;
            index  index.html index.htm;
        }
    }
}

启动redis高可用集群(一主两从三哨兵)

1.创建目录 mkdir /usr/local/docker/redis/sentinel

2.在redis目录创建 vi docker-compose.yml

version: '3.1'
services:
  redis-master:
    image: redis:5
    ports:
      - 6379:6379
    restart: always
    container_name: redis-master
    command: redis-server --appendonly yes
    volumes:
      - ./data:/data

  redis-slave-1:
    image: redis:5
    ports:
      - 6380:6379
    restart: always
    container_name: redis-slave-1
    command: redis-server  --slaveof  redis-master 6379 --appendonly yes
    volumes:
      - ./data:/data
    links:
      - redis-master

  redis-slave-2:
    image: redis:5
    ports:
      - 6381:6379
    restart: always
    container_name: redis-slave-2
    command: redis-server  --slaveof  redis-master 6379 --appendonly yes
    volumes:
      - ./data:/data
    links:
      - redis-master

  redis-sentinel-1:
    build: sentinel
    ports:
      - 26379:26379
    container_name: redis-sentinel-1
    environment:
      - SENTINEL_DOWN_AFTER=5000
      - SENTINEL_FAILOVER=5000
    links:
      - redis-master
      - redis-slave-1
      - redis-slave-2

  redis-sentinel-2:
    build: sentinel
    ports:
      - 26380:26379
    container_name: redis-sentinel-2
    environment:
      - SENTINEL_DOWN_AFTER=5000
      - SENTINEL_FAILOVER=5000
    links:
      - redis-master
      - redis-slave-1
      - redis-slave-2

  redis-sentinel-3:
    build: sentinel
    ports:
      - 26381:26379
    container_name: redis-sentinel-3
    environment:
      - SENTINEL_DOWN_AFTER=5000
      - SENTINEL_FAILOVER=5000
    links:
      - redis-master
      - redis-slave-1
      - redis-slave-2 

3.进入sentinel目录 创建  vi Dockerfile

FROM redis:5

MAINTAINER jiangli <31346337@qq.com>

EXPOSE 26379
ADD sentinel.conf /etc/redis/sentinel.conf
RUN chown redis:redis /etc/redis/sentinel.conf
ENV SENTINEL_QUORUM 2
ENV SENTINEL_DOWN_AFTER 30000
ENV SENTINEL_FAILOVER 180000
ENV SENTINEL_AUTH_PASS 31346337
COPY sentinel-entrypoint.sh /usr/local/bin/
RUN chmod +x /usr/local/bin/sentinel-entrypoint.sh
ENTRYPOINT ["sentinel-entrypoint.sh"]

 3.在sentinel目录 创建  vi sentinel.conf

port 26379
dir /tmp
sentinel monitor mymaster redis-master 6379 $SENTINEL_QUORUM
sentinel down-after-milliseconds mymaster $SENTINEL_DOWN_AFTER
sentinel parallel-syncs mymaster 1
sentinel auth-pass mymaster $SENTINEL_AUTH_PASS
sentinel failover-timeout mymaster $SENTINEL_FAILOVER

4. 在sentinel目录 创建  vi sentinel-entrypoint.sh

#!/bin/sh

sed -i "s/\$SENTINEL_QUORUM/$SENTINEL_QUORUM/g" /etc/redis/sentinel.conf
sed -i "s/\$SENTINEL_DOWN_AFTER/$SENTINEL_DOWN_AFTER/g" /etc/redis/sentinel.conf
sed -i "s/\$SENTINEL_FAILOVER/$SENTINEL_FAILOVER/g" /etc/redis/sentinel.conf

exec docker-entrypoint.sh redis-server /etc/redis/sentinel.conf --sentinel

5.回到redis目录,执行 docker-compose up -d 

验证集群是否成功.进入主容器写数据,进入从容器查(从容器没有写的权限)

查看日志 docker logs -f redis-sentinel-1 ,停掉redis-master, 观察日志,故障迁移

进入容器查看集群是否成功 docker exec -it redis-sentinel-1 bash

连接客户端 redis-cli -p 26379, 查看redis主信息 sentinel master mymaster

查看从redis信息 sentinel slaves mymaster

  • 启动rabbitmaq
version: '3.1'
services:
  rabbitmq:
    restart: always
    image: rabbitmq:management
    container_name: rabbitmq
    ports:
      - 5672:5672
      - 15672:15672
    environment:
      TZ: Asia/Shanghai
    volumes:
      - ./data:/var/lib/rabbitmq
  •  启动mysql集群一主两从
  1. 首先拉取镜像 docker pull mysql:5.7
  2. 运行容器 docker run -d -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
  3. 查看mysql容器ID docker ps
  4. 将容器中mysql的配置拷贝到主库的conf中,注意目录层级关系会影响docker-compose挂载的配置
    mkdir -p /usr/local/docker/mysql/master/conf
    docker cp ae2e8348e6ea:/etc/mysql /usr/local/docker/mysql/master/conf

     

  5.  删除mysql容器 docker rm -f ae2e8348e6ea  (以上5步的作用是获取mysql的配置文件)

  6. 给从库拷贝配置, 两个从库,拷贝两份

    cp -r /usr/local/docker/mysql/master /usr/local/docker/mysql/slave1
    cp -r /usr/local/docker/mysql/master /usr/local/docker/mysql/slave2

     

  7. 修改配置文件.首先我们要知道容器中要加载的配置文件是/etc/mysql/mysql.conf.d/mysqld.cnf, 所以对应的我们要修改         vi /usr/local/docker/mysql/master(slave1和slave2)/conf/mysql/mysql.conf.d/mysqld.cnf ,主从3个配置文件

    vi /usr/local/docker/mysql/master/conf/mysql/mysql.conf.d/mysqld.cnf
    log-bin=mysql-bin
    server_id=1

    从库设置server_id不相同即可

    vi /usr/local/docker/mysql/slave1/conf/mysql/mysql.conf.d/mysqld.cnf
    server_id=2
    vi /usr/local/docker/mysql/slave2/conf/mysql/mysql.conf.d/mysqld.cnf
    server_id=3

     

  8. 编写docker-compose.yml.  vi docker-compose.yml

    version: '3'
    services:
      mysql-master:
        restart: always
        image: mysql:5.7
        networks:
          mysqlnet:
            ipv4_address: 172.18.0.2
        container_name: mysql-master
        ports:
          - 3306:3306
        environment:
          TZ: Asia/Shanghai
          MYSQL_ROOT_PASSWORD: 123456
        command:
          --character-set-server=utf8mb4
          --collation-server=utf8mb4_unicode_ci
          --explicit_defaults_for_timestamp=true
          --lower_case_table_names=1
          --max_allowed_packet=128M
          --sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO"
        volumes:
          - /usr/local/docker/mysql/master/data:/var/lib/mysql
          - /usr/local/docker/mysql/master/conf/mysql:/etc/mysql
          - /usr/local/docker/mysql/master/log:/var/log/mysql
    
      mysql-slave1:
        restart: always
        image: mysql:5.7
        networks:
          mysqlnet:
            ipv4_address: 172.18.0.3
        container_name: mysql-slave1
        ports:
          - 3307:3306
        depends_on:
          - mysql-master
        links:
          - mysql-master
        environment:
          TZ: Asia/Shanghai
          MYSQL_ROOT_PASSWORD: 123456
        command:
          --character-set-server=utf8mb4
          --collation-server=utf8mb4_unicode_ci
          --explicit_defaults_for_timestamp=true
          --lower_case_table_names=1
          --max_allowed_packet=128M
          --sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO"
        volumes:
          - /usr/local/docker/mysql/slave1/data:/var/lib/mysql
          - /usr/local/docker/mysql/slave1/conf/mysql:/etc/mysql
          - /usr/local/docker/mysql/slave1/log:/var/log/mysql
    
      mysql-slave2:
        restart: always
        image: mysql:5.7
        networks:
          mysqlnet:
            ipv4_address: 172.18.0.4
        container_name: mysql-slave2
        ports:
          - 3308:3306
        depends_on:
          - mysql-master
        links:
          - mysql-master
        environment:
          TZ: Asia/Shanghai
          MYSQL_ROOT_PASSWORD: 123456
        command:
          --character-set-server=utf8mb4
          --collation-server=utf8mb4_unicode_ci
          --explicit_defaults_for_timestamp=true
          --lower_case_table_names=1
          --max_allowed_packet=128M
          --sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO"
        volumes:
          - /usr/local/docker/mysql/slave2/data:/var/lib/mysql
          - /usr/local/docker/mysql/slave2/conf/mysql:/etc/mysql
          - /usr/local/docker/mysql/slave2/log:/var/log/mysql
    
    networks:
      mysqlnet:
        driver: bridge
        ipam:
          driver: default
          config:
          - subnet: 172.18.0.0/26

     

  9. 当前目录结构 ,启动容器
    docker-compose up -d

  10.    授权与配置主从
    ##进入主容器
    1.docker exec -it mysql-master /bin/bash
    ##调用mysql-cli:
    2.mysql -uroot -p123456 
    ## 创建用户用于同步数据
    3.create user 'worker'@'%' identified by 'worker';
    ## 为worker用户赋予 REPLICATION SLAVE 权限。
    4.grant replication slave on *.* to 'worker'@'%';
    ## 刷新权限
    5.FLUSH PRIVILEGES ;
    ## 查看 master 状态
    6.show master status;
    

    File和Position从库设置会用到

  11. 查看容器ip
    docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mysql-master

    与我们在docker-compose.yml中设置的一致

  12. ##进入从容器
    1.docker exec -it mysql-slave1 /bin/bash
    ##调用mysql-cli:
    2.mysql -uroot -p123456 
    ##将从节点挂载到主节点上
    3.change master to master_host='172.18.0.2',master_port=3306,master_user='worker',master_password='worker',master_log_file='mysql-bin.000001',master_log_pos=154;
    ## 启动同步
    4.START SLAVE;
    ## 查看同步状态
    5.show slave status \G;
    

  13.  Slave_IO_Running和Slave_SQL_Running都是Yes则设置成功
  14.  设置从库mysql-slave2,同mysql-slave1
  15.  用数据库管理工具连接主库进行测试
    CREATE DATABASE test01;
    USE test01;
    DROP TABLE IF EXISTS `course`;
    CREATE TABLE `course` (
      `id` INT(11) NOT NULL AUTO_INCREMENT,
      `name` VARCHAR(20) NOT NULL,
      `lesson_period` DOUBLE(5,0) DEFAULT NULL,
      `score` DOUBLE(10,0) DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=INNODB DEFAULT CHARSET=utf8mb4;
    

  16.  连接从库查看
  17.  在主库添加数据,在从库查看
  • 启动elasticsearch+ik+head+kibana

修改系统参数 sudo vi /etc/sysctl.conf   文件最后添加一行  

vm.max_map_count=262144
sudo sysctl -p

此参数是elasticsearch需要修改的值,如果不修改,在生产模式下elasticsearch会启动失败。

version: '3'
services:
  elasticsearch:
    restart: always
    image: bolingcavalry/elasticsearch-with-ik:6.5.0
    container_name: elasticsearch
    environment:
      - cluster.name=docker-cluster
      - bootstrap.memory_lock=true
      - http.cors.enabled=true
      - http.cors.allow-origin=*
      - "ES_JAVA_OPTS=-Xms256m -Xmx256m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - esdata1:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
      - 9300:9300
    networks:
      - esnet
  head:
    restart: always
    image: bolingcavalry/elasticsearch-head:6
    container_name: head
    ports:
      - 9100:9100
    networks:
      - esnet
  kibana:
    restart: always
    image: docker.elastic.co/kibana/kibana-oss:6.1.4
    container_name: kibana
    networks:
      - esnet
    ports:
      - 5601:5601

volumes:
  esdata1:
    driver: local
  esdata2:
    driver: local

networks:
  esnet:
    driver: bridge

需要开放9100.9200.9300.5601端口. 测试一下

curl -X PUT http://127.0.0.1:9200/test001

curl -X POST \
'http://127.0.0.1:9200/test001/_analyze?pretty=true' \
-H 'Content-Type: application/json' \
-d '{"text":"我们是软件工程师","tokenizer":"ik_smart"}'

curl -X DELETE http://127.0.0.1:9200/test001

查看挂载的data放哪儿了?  docker inspect -f "{{.Mounts}}" elasticsearch

  • 启动mongo 
version: '3'
services:
    image: mongo
    container_name: mongo
    restart: always
    ports:
      - 27017:27017
    networks:
      default:
        ipv4_address: 172.18.0.9
    environment:
      TZ: Asia/Shanghai
      MONGO_INITDB_ROOT_USERNAME: root
      MONGO_INITDB_ROOT_PASSWORD: 123456
    volumes:
      - mongodata:/data/db
    command: --auth
volumes:
  esdata:
    driver: local
  mongodata:

networks:
  default:
    external:
      name: net

  • 启动alibaba-sentinel
version: '3.1'
services:
  sentinel:
    image: bladex/sentinel-dashboard
    restart: always
    container_name: sentinel
    ports:
      - 8858:8858

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值