Web アプリ コンテナーに追加のボリュームを追加するときにエラーが発生する
概要
Ruby on Rails Web アプリ コンテナーに追加ボリュームを追加するときにエラーが発生する
こんにちは、私はコンテナ化された Rails アプリをプログラミングしています。現在、本番環境のセットアップを行っています。
私の docker-compose.production.yml:
version: '3'
services:
db:
image: postgres
volumes:
- ./tmp/db:/var/lib/postgresql/data
environment:
POSTGRES_PASSWORD: password
web:
build: .
command: bash -c "rm -f tmp/pids/server.pid && bundle exec puma -C config/puma.rb"
volumes:
- .:/rails-lyrics-site
- /rails-lyrics-site/node_modules
- bundle:/usr/local/bundle
- public-data:/rails-lyrics-site/public
- log-data:/rails-lyrics-site/log
- tmp-data:/rails-lyrics-site/tmp
ports:
- "3000:3000"
depends_on:
- db
nginx:
build:
context: containers/nginx
volumes:
- public-data:/rails-lyrics-site/public
- tmp-data:/rails-lyrics-site/tmp
ports:
- "80:80"
depends_on:
- web
volumes:
bundle:
public-data:
log-data:
tmp-data:
問題は、docker-compose -f docker-compose.production.yml を起動して開始すると、次のエラーが発生することです。
エラー
Web コンテナから tmp-data ボリュームを削除すると、問題は発生しません。この設定では、Rails ソース コード内の tmp フォルダーが書き込まれていないようです。
誰か手伝ってくれませんか?
解決策
tmp/pids ディレクトリを作成する必要があります。