Ruby on rails 在Rails应用程序容器前面使用专用代理容器
在将Rails应用程序部署到生产环境之前,我正在对其进行Ruby on rails 在Rails应用程序容器前面使用专用代理容器,ruby-on-rails,nginx,docker,docker-compose,Ruby On Rails,Nginx,Docker,Docker Compose,在将Rails应用程序部署到生产环境之前,我正在对其进行对接 我能够创建一个2容器(db+app)系统,现在我正在尝试添加一个代理容器(使用Nginx)在应用程序前面运行,以服务于静态资产 我已经用下面的配置从nginx:1.11-alpine创建了一个基本容器 server { listen *:80; location / { proxy_pass http://app:3000; } } 我现在可以将浏览器指向http://0.0.0.0并获取根页面,但是,静态资产
对接
我能够创建一个2容器(db+app)系统,现在我正在尝试添加一个代理容器(使用Nginx)在应用程序前面运行,以服务于静态资产
我已经用下面的配置从nginx:1.11-alpine
创建了一个基本容器
server {
listen *:80;
location / {
proxy_pass http://app:3000;
}
}
我现在可以将浏览器指向http://0.0.0.0
并获取根页面,但是,静态资产(显然)没有提供,我不知道如何继续
我是否应该将静态资产从应用程序容器复制到代理容器
如何更新Nginx配置文件
我的docker-compose.yml看起来像
version: '2'
volumes:
postgres-data:
driver: local
services:
...
app:
build: .
command: bin/rails server -b 0.0.0.0
ports:
- 3000:3000
links:
- postgres:db
depends_on:
- postgres
proxy:
image: nginx:1.11-alpine
volumes:
- ./default.conf:/etc/nginx/conf.d/default.conf
command: nginx -g 'daemon off;'
ports:
- 80:80
- 443:443
links:
- app
depends_on:
- app
谢谢。一个选项可能是通过共享卷装载将资产
目录从应用程序容器共享到nginx容器,并将nginx配置为服务于这些文件