Rails应用启动延迟,可能是Docker问题,但不确定

时间:2018-10-18 18:00:22

标签: ruby-on-rails performance docker docker-compose

我正在切换到在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!

我现在应该在哪里寻找这个延迟?

我想知道的是这段时间在做什么?有没有办法获得更多输出?

0 个答案:

没有答案