【发布时间】:2016-05-26 23:23:05
【问题描述】:
我正在尝试使用 docker 运行简单的 Rails 应用程序。
取自数据容器“app”的源代码。 nginx 也使用“app”数据容器来服务器预编译的资产和静态文件。
但运行 'bundle exec rake assets:precompile' 后没有找到预编译的资产。
我在 Mac OS X 上使用带有 VirtualBox 的 docker(Docker 版本 1.10.1,内部版本 9e83765)。
docker-compose.yml
version: '2'
services:
web:
build: .
command: bundle exec puma
env_file: .env
environment:
- RACK_ENV=production
- RAILS_ENV=production
volumes_from:
- app
ports:
- "3000:3000"
links:
- db
nginx:
image: nginx
ports:
- "80:80"
volumes_from:
- app
volumes:
- /app/public:/usr/share/nginx/html:ro
- /app/config/deploy/nginx.conf:/etc/nginx/conf.d/default.conf
db:
image: postgres
env_file: .env
volumes_from:
- data
app:
image: busybox
volumes:
- /myapp/app:/app:rw
data:
image: busybox
volumes:
- /myapp/data:/var/lib/postgresql/data
Dockerfile
RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs
WORKDIR /app
ADD . /app
RUN gem install bundler && bundle install --jobs 20 --retry 5 --without development test && rake assets:precompile
VOLUME /app/public
我也试过没有'VOLUME /app/public'
请告知可能是什么问题。
谢谢。
【问题讨论】:
标签: ruby-on-rails docker docker-compose