小编pen*_*man的帖子

docker-compose 命令使用 gem:foreman 关于 Ruby on Rails 并且在停止容器时不释放 server.pid

我在 Ruby on Rails 上使用 docker-compose 并遇到了麻烦。

在 docker-compose 中,我使用command并直接foreman.

当通过 Ctrl-c 停止 docker-compose 并通过 重新启动时docker-compose up,Rails 会导致错误A server is already running. Check /www/tmp/pids/server.pid.

当然,我知道rm tmp/pids/server.pid这是解决方案之一,但是每次这样都很麻烦。

所以,我想要解决这种情况。

我写了Procfile和docker-compose.yml以及Dockerfile(供参考)

过程文件.dev:

app: bundle exec rails s -b 0.0.0.0 -p 3000
webpacker: bin/webpack-dev-server
Run Code Online (Sandbox Code Playgroud)

docker-compose.yml:

version: '3'
services:
  web:
    build: 
      context: .
      dockerfile: Dockerfile.dev
    command: "bundle exec foreman start -f Procfile.dev"
    volumes:
      - .:/www
    ports:
      - "3000:3000"
    environment:
      - DATABASE_HOST=db
      - DATABASE_USERNAME=postgres
      - DATABASE_PASSWORD="" …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails docker-compose

5
推荐指数
0
解决办法
1396
查看次数

标签 统计

docker-compose ×1

ruby-on-rails ×1