无法连接到external_link?

时间:2018-09-20 12:14:54

标签: docker docker-compose dockerfile

我有一个在另一个网络中运行的通用数据库。我希望能够从我的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

1 个答案:

答案 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