Mysql2 :: Error :: ConnectionError: Невозможно подключиться к серверу MySQL в mysql (111 & ldquo; Соединение отклонено & rdquo;)

0
задан klee 16 January 2019 в 11:45
поделиться

1 ответ

Вам действительно нужна внешняя сеть? Единственная возможная причина - вы хотите подключить к нему другие контейнеры. В противном случае не используйте его - вы сможете получить доступ к контейнерам с хоста только через механизм показа портов.

Если вы не собираетесь обращаться к базе данных извне docker-compose, рассмотрите следующие изменения в файле:

  • удалены бесполезные вещи
  • удалены порты (внутри пользовательской сети вы не нужно показывать)

docker-compose.yml

version: '3.1'

services:
  mysql:
    image: mysql:5.7
    environment:
      - MYSQL_ROOT_PASSWORD=password
      - MYSQL_DATABASE=foo
      - MYSQL_USER=root
      - MYSQL_PASSWORD=password

  sample-application:
    image: sample:latest 
    depends_on:
      - mysql
    environment:
      - RAILS_ENV=production
      - DATABASE_HOST=mysql
      - DATABASE_USER=root
      - DATABASE_NAME=foo
      - DATABASE_PORT=3306

  sample-service:
    image: service:latest
    depends_on:
      - sample-application

При такой конфигурации вы можете получить доступ к сервисам внутри сети по их именам, например mysql, sample-service и sample-application

Кстати, странная ситуация, когда обслуживание зависит от приложения, а не наоборот

0
ответ дан grapes 16 January 2019 в 11:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: