做了 1 年 Ruby 开发,然后转了几年运营岗。绕来绕去,现在又准备继续写 Rails 了。
不知在哪看到段 docker-compose,有些问题看不明白 db 里的 volume 的宿主机的 path 不是个正确的写法吧,要么是相对路径,要么是绝对路径。但它这里是写的一个 pg_data,然后在最底部的 volumes 里又申明了 pg_data。
还有个问题是关于使用的问题,自己用 pg 的 docker 镜像的话,比如这里的 postgres:13。volume 正常映射出来,进入 docker 里改它默认的用户名(postgres),然后给它设置密码,才能正常使用。这样应该是正确的做法吧
services:
web: &web
container_name: 'web'
env_file:
- .env
build: .
command: bash -c bin/rails s -p 3000 -b '0.0.0.0'"
ports:
- "3000:3000"
depends_on:
- db
db:
container_name: 'db'
image: postgres:13
env_file:
- .env
ports:
- "5432:5432"
volumes:
- pg_data:/var/lib/postgresql/data
volumes:
pg_data: