我正在尝试使用docker运行简单的Rails应用程序。
从数据容器' app'中获取的源代码。该应用程序'数据容器也由nginx用于服务器预编译资产和静态文件。
但是,在运行'捆绑exec rake资产后找不到预编译资产:预编译'。
我在Mac OS X上使用Docker和VirtualBox(Docker版本1.10.1,版本9e83765)。
搬运工-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'
请告知可能出现的问题。
感谢。
答案 0 :(得分:1)
app.get('/redis', function(req, res) {
return client.onAsync("connect").then(function(res) {
console.log(res);
res.end();
});
});
期间的广告量为not mounted。
从装有卷的容器中运行docker build
任务后期构建。
此外,自Docker 1.9起,您不再需要"数据卷容器"。 Volumes可以自己存在。
rake assets:precompile