Рельсы Докера не могут соединить mysql - PullRequest
0 голосов
/ 24 июня 2018

Я пытаюсь подключиться к базе данных mysql.Здесь я использую два docker-контейнера, один для mysql и один для rails.Я использую этот файл docker compose:

version: '3'
services:
 db:
   image: mysql:5.7
   restart: always
   environment:
     MYSQL_ROOT_PASSWORD: password

  volumes:
    - ./mydata:/var/lib/mysql
  ports:
    - "3307:3306"
web:
  build: .
  command: bundle exec rails s -p 3000 -b '0.0.0.0'
  volumes:
    - .:/myapp
  ports:
    - "3000:3000"

Когда я запускаю docker compose up и вижу, что мои контейнеры запущены, моя команда docker ps покажет мне:

   CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
d1bc75bbb4f7        mysql               "docker-entrypoint.s…"   22 seconds ago      Up 19 seconds       0.0.0.0:3307->3306/tcp   aaupf_db_1
2ccb0882c390        aaupf_web           "bundle exec rails s…"   12 minutes ago      Up 9 minutes        0.0.0.0:3000->3000/tcp   aaupf_web_1

Яиспользуя этот код в моем database.yml:

 development:
adapter: mysql2
encoding: utf8
reconnect: false
database: sample_sqlite3_development
pool: 5
username: root
password: password
host: 127.0.0.1
port: 3307

Но я получаю эту ошибку в рельсах:

Can't connect to MySQL server on '127.0.0.1' (111 "Connection refused")

Я могу подключиться MySQL, используя MySQL верстак Я не знаю, что делатьМне нужно сделать, чтобы подключить мое приложение rails к mysql.

1 Ответ

0 голосов
/ 28 июля 2018

Попробуйте использовать host: db в вашем database.yml. Это должно связать ваш веб и MySQL контейнер.

https://docs.docker.com/v17.09/compose/rails/#connect-the-database

default: &default
  adapter: postgresql
  encoding: unicode
  host: db
  username: postgres
  password:
  pool: 5

development:
  <<: *default
  database: myapp_development


test:
  <<: *default
  database: myapp_test
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...