首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Docker中以bootstrap模式使用compose文件运行mysql路由器

如何在Docker中以bootstrap模式使用compose文件运行mysql路由器
EN

Stack Overflow用户
提问于 2021-08-10 02:57:14
回答 1查看 109关注 0票数 0

MySql路由器具有引导自身的命令

代码语言:javascript
运行
复制
mysqlrouter --bootstrap root@127.0.0.1:3306  --directory /tmp/router

在bootstrap之后,Router将退出,我们应该使用bootstrap生成的配置文件再次运行它,因为我将修改该文件

代码语言:javascript
运行
复制
mysqlrouter --config /tmp/router/mysqlrouter.conf

它在纯Linux环境下可以正常工作,但在docker环境下就不行了,下面是我的docker合成文件

代码语言:javascript
运行
复制
version: '2'
services:

common: &baseDefine
    environment:
        MYSQL_HOST: "192.168.213.6"
        MYSQL_PORT: 3306
        MYSQL_USER: 'root'
        MYSQL_PASSWORD: 'urpwd.root'
        MYSQL_INNODB_CLUSTER_MEMBERS: 3
        MYSQL_CREATE_ROUTER_USER: 0
    image: "docker.io/mysql/mysql-router:latest"

    volumes:
        - "./conf:/tmp/myrouter"

    network_mode: "host"

boot:
    container_name: "mysql_router_boot"

    command: ["mysqlrouter","--bootstrap","root@192.168.213.7:3306","--directory","/tmp/myrouter","--conf-use-sockets","--conf-skip-tcp",
                    "--force","--strict","--user","mysqlrouter","--account","sqlrouter","--account-create","if-not-exists"]

    <<: *baseDefine


run:
    container_name: "mysql_router"
    restart: always

    command: ["mysqlrouter","--config","/tmp/myrouter/mysqlrouter.conf"]

    <<: *baseDefine

首先,我将调用bootstrap的引导服务,并将配置生成到指定的目录

代码语言:javascript
运行
复制
docker-compose run --rm boot

在这个命令之后,配置文件被生成,然后我执行

代码语言:javascript
运行
复制
docker-compose run --name mysql_router run

它可以工作,但不像我想象的那样工作,没有docker,第二步运行mysqlrouter只使用config,没有bootstrap,但使用docker和那些命令,第二步将再次启动。我知道这是因为两个容器中的两个服务。有没有什么想法可以让这个流程更合适呢?例如在一个容器中运行2个服务?或者在已存在的容器中运行服务?

EN

回答 1

Stack Overflow用户

发布于 2021-08-10 05:52:03

可以使用下面的代码:

修改yml的run service命令

代码语言:javascript
运行
复制
run:
    command: /bin/bash -c "mysqlrouter --config /tmp/myrouter/mysqlrouter.conf"

使用bash运行mysqlrouter延迟来识别已存在的conf文件;它是有效的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68720564

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档