Postgresql 使用带有postgres\u密码的dockerfile扩展postgres映像
我正在使用参数postgres_PASSWORD=postgres扩展postgres映像,这样我的派生容器就已经有了使用docker build with dockerfile的默认密码 每当我从postgres生成的派生图像在容器上运行Postgresql 使用带有postgres\u密码的dockerfile扩展postgres映像,postgresql,docker,dockerfile,Postgresql,Docker,Dockerfile,我正在使用参数postgres_PASSWORD=postgres扩展postgres映像,这样我的派生容器就已经有了使用docker build with dockerfile的默认密码 每当我从postgres生成的派生图像在容器上运行psql-U postgres,我都会得到: could not connect to server: No such file or directory Is the server running locally and accepting
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示例bash
我想在
sample
container(从postgres扩展的图像)上运行psql-U postgres
。尝试将ARG postgres\U PASSWORD=postgres
替换为ENV postgres\U PASSWORD postgres
postgres docker image文档说明此参数是一个环境变量,因此这可能会有所帮助。尝试用
ENV postgres\u PASSWORD=postgres
替换ARG postgres\u PASSWORD postgres
postgres docker image文档说明此参数是一个环境变量,因此这可能会有所帮助。这似乎是在寻找docker Compose之类的编排系统,而不是试图在docker文件中修复这些问题。运行shell而不是启动数据库的
CMD
设置可能是导致错误的直接原因。@DavidMaze无法使用elixir和postgres生成图像?我应该使用docker compose来连接postgres映像和elixir映像吗?是的,您绝对应该在单独的容器中运行数据库和应用程序。这似乎是在寻找docker compose这样的编排系统,而不是试图在docker文件中修复这些问题。运行shell而不是启动数据库的CMD
设置可能是导致错误的直接原因。@DavidMaze无法使用elixir和postgres生成图像?我应该使用docker compose连接postgres图像和elixir图像吗?是的,您应该在单独的容器中运行数据库和应用程序。