Docker:不能从Dockerfile运行psql命令

我有一个Python / PostgreSQL项目,我试图把它放在一个Docker容器中。 当我尝试在容器内运行psql命令来创build图像时创build用户和数据库时,出现此错误:

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"? 

这里有一个Dockerfile:

 FROM python:2.7-slim WORKDIR /app ADD . /app RUN apt-get update && apt-get install -y postgresql postgresql-contrib libgeos-c1 RUN service postgresql start RUN su postgres bash -c "psql -c \"CREATE USER myuser WITH PASSWORD 'password';\"" \ && su postgres bash -c "psql -c \"CREATE DATABASE db WITH OWNER = myuser;\""``` 

请注意,我甚至试图在psql命令之前启动postgresql服务。

我尝试了另一种使用基本映像postgres:9.6.3并在其上安装Python pip。 我仍然得到同样的错误。 下面是第二个Dockerfile供参考:

 FROM postgres:9.6.3 WORKDIR /app ADD . /app RUN apt-get update && apt-get install -y python-pip libgeos-c1 RUN service postgresql start RUN su postgres bash -c "psql -c \"CREATE USER myuser WITH PASSWORD 'password';\"" \ && su postgres bash -c "psql -c \"CREATE DATABASE db WITH OWNER = myuser;\"" 

忏悔:我是docker工人。