使用带有POSTGRES_PASSWORD的dockerfile扩展postgres图像

时间:2019-04-14 11:07:40

标签: postgresql docker dockerfile

我正在使用参数POSTGRES_PASSWORD = postgres扩展postgres图像,以便使用dockerfile和dockerfile构建派生容器时将具有默认密码。

每当我从Postgres制作的派生图像上对容器运行psql -U postgres时,都会得到:

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上,我有:

ARG POSTGRES_PASSWORD=postgres
FROM postgres:alpine

RUN apk add --update nodejs
RUN apk add --update npm
RUN apk add --update erlang
RUN apk add --update elixir

CMD ["/bin/bash"]

然后我跑了

docker build -t myImage .
docker run --name sample -d -it myImage
docker exec -it sample bash

我想在psql -U postgres容器上运行sample(图像从postgres扩展)。

1 个答案:

答案 0 :(得分:0)

尝试将ARG POSTGRES_PASSWORD=postgres替换为ENV POSTGRES_PASSWORD postgres

postgres docker镜像文档指出此参数是一个环境变量,因此可能有帮助。