首页 > 解决方案 > 如何将 mysql 服务添加到 Consul docker 容器中?

问题描述

我正在使用 Windows 10 和 docker 桌面。我从 docker 存储库中提取 consul docker 图像并尝试将 consul docker 服务器容器化以发现 mysql 服务。要将 mysql 服务添加到 consul docker 中,我输入 CONSUL 环境变量。举些例子,

CONSUL_SERVICE_ID=mysql
CONSUL_SERVICE_NAME=mysql8
CONSUL_SERVICE_ADDRESS=xxx.xxx.xxx.xxx
CONSUL_SERVICE_PORT=3306

但是 consul docker server 在运行 consul 容器时无法发现 mysql 服务。我拉的 docker 图像是consul以及gliderlabs/consul-server如何将 mysql 服务注册到 consul docker 服务器?在本地主机上安装 consul 服务器时,不是容器化,consul 服务器成功发现 mysql 服务。我不知道如何在码头上。任何回复,请。

标签: mysqldockerconsul

解决方案


您可以在 docker-compose 文件中定义一个外部运行的容器,该文件实际上并未使用external_links.

外部链接

链接到在这个 docker-compose.yml 甚至在 Compose 之外启动的容器,特别是对于提供共享或公共服务的容器。在同时指定容器名称和链接别名 (CONTAINER:ALIAS) 时,external_links 遵循类似于传统选项链接的语义。

external_links:
 - redis_1
 - project_db_1:mysql
 - project_db_1:postgresql

资源


推荐阅读