我有一个在另一个网络中运行的通用数据库。我希望能够从我的API连接到数据库。为此,我尝试使用external_links。但是,当我从我的API mysql -h db_1 -u user -p
连接到数据库时,出现此错误:ERROR 2005 (HY000): Unknown MySQL server host 'db_1' (0)
这是我的应用程序的docker-compose.yml:
version: "3"
services:
api:
image: s2s/api:latest
command: start
ports:
- 8081:8081
external_links:
- db_1
其他包含我的数据库的docker-compose.yml文件:
version: "3"
services:
db:
image: mysql:5.7
environment:
MYSQL_DATABASE: name
MYSQL_USER: user
MYSQL_PASSWORD: password
MYSQL_ROOT_PASSWORD: password
ports:
- 3306:3306
答案 0 :(得分:0)
在使用Docker Compose时,不应拆分容器的定义。请使用以下内容:
version: "3"
services:
api:
image: s2s/api:latest
command: start
ports:
- 8081:8081
db:
image: mysql:5.7
environment:
MYSQL_DATABASE: name
MYSQL_USER: user
MYSQL_PASSWORD: password
MYSQL_ROOT_PASSWORD: password
ports:
- 3306:3306
如果出于某些原因特别需要拆分它们,请使用networks,因为不推荐使用external_links
。