我很想在 Bitbucket Pipelines 中为 Ruby on Rails / PostgreSQL / Sidekiq 项目设置持续部署,但我很难弄清楚它们是如何组合在一起的,特别是如何让 postgres 在 Docker 图像中工作. 我对 Docker 和 Pipelines 很陌生。
在我的谷歌搜索中,Docker 谈到使用 docker-compose 创建一个包,所以我有一个 Postgres 容器和一个 Sideqik 容器,然后将它们与应用程序容器链接。但我不确定捆绑包和图像之间有什么区别,以及 Bitbucket Pipelines 是否支持捆绑包。最终,我想在 Heroku 上为暂存环境设置部署,但现在只是rspec spec
在 Pipelines 中工作会很好。
是否有已经设置了 Ruby + PostgreSQL 的现有公共映像可供我使用?如果没有,我从哪里开始?我当前的 Dockerfile 如下所示:
FROM postgres:9.4
FROM ruby:2.3.1-onbuild
RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs postgresql-client
然后我运行docker build .
anddocker run -it my-image /bin/bash
和以下命令:
root@a84ad0e7c16b:/usr/src/app# postgres
bash: postgres: command not found
root@a84ad0e7c16b:/usr/src/app# psql
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?