Задержка загрузки приложения Rails, может быть проблемой Docker, но не уверен - PullRequest
0 голосов
/ 18 октября 2018

Я перехожу к разработке своего приложения в сценарии Docker, а не в Vagrant.

У меня настроен Docker и т. Д., И мой файл docker-compose, и все это запускается, но когдаЯ запускаю команду в контейнере, такую ​​как docker-compose run app rake db:create, для запуска требуются целые годы.По крайней мере, за две минуты до того, как я вижу какой-либо вывод, он успешно запускает команды, но требует времени, чтобы посмотреть, как он ничего не делает, прежде чем я вижу вывод.

Я понятия не имею, что он может делать или чтодержит вещиИз-за этого я не уверен, какие файлы размещать здесь, чтобы помочь людям расшифровать происходящее.

Если у вас есть какие-либо идеи или вы хотите, чтобы я опубликовал код или конкретные файлы, дайте мне знать, и яя добавлю их сюда.

Это действительно разочаровывает, и я хотел бы разобраться с этим, чтобы я мог приступить к созданию своего приложения.

docker-compose.yml:

version: '3.4'

services:
  app:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - 3000:3000
    environment:
      - PG_PASSWORD=secret
      - PG_HOST=pg
      - PG_PORT=5432
    volumes:
      - ./:/app
    depends_on:
      - db

  db:
    image: postgres:9.6-alpine
    volumes:
      - pg-data:/var/lib/postgresql/data
    environment:
      - PG_PASSWORD=secret

volumes:
  pg-data:

Странно, я запускаю контейнеры, а приложение просто ничего не делает добрых две-три минуты.В конце концов я начинаю получать вывод примерно так:

app_1  | => Booting Puma
app_1  | => Rails 5.2.1 application starting in development
app_1  | => Run `rails server -h` for more startup options
app_1  | Puma starting in single mode...
app_1  | * Version 3.12.0 (ruby 2.5.1-p57), codename: Llamas in Pajamas
app_1  | * Min threads: 5, max threads: 5
app_1  | * Environment: development
app_1  | * Listening on tcp://0.0.0.0:3000
app_1  | Use Ctrl-C to stop

Я только что удалил все из каталога config и перезагрузил приложение, затем добавлял обратно каждый файл, на который он жалуется, по одному за другим.,Он начал жаловаться на отсутствие environment.rb, я прочитал его, и на данный момент это занимает много времени, и начинаются задержки.Я зарегистрировал environment.rb, и все, что там есть:

# Load the rails application
require_relative 'application'

# Initialize the rails application
Neiltongesite::Application.initialize!

Куда мне теперь обратиться, чтобы отследить эту задержку?

Что я хочу выяснить, так эточто он делает в это время?Есть ли способ получить больше продукции?

...