首页 > 解决方案 > 无法解析阶段名称“postgres:”:无效的参考格式

问题描述

我在构建 docker 时遇到问题。错误如下:

     => => transferring dockerfile: 327B                                       0.0s
     => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
failed to solve with frontend dockerfile.v0: failed to create LLB definition: failed to parse stage name "postgres:": invalid reference format
ERROR: Service 'postgres' failed to build : Build failed

我试图找出问题所在,但仍然坚持这一点,所以我恳请您的帮助。这是 Docker 文件:

FROM postgres:${POSTGRES_VERSION}

ARG TZ=UTC
ENV TZ ${TZ}
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && chown -R postgres:root /var/lib/postgresql

#COPY my.cnf /etc/postgresql/conf.d/my.cnf

CMD ["postgres"]

EXPOSE 5432

不确定这里可能是什么问题,但我收到了前面提到的错误。预先感谢您的帮助。

更新:由于阅读 postgres 版本的问题,这是一个错误,正如@Makariy 在评论中提到的那样。

标签: postgresqldocker

解决方案


也许你应该添加变量 POSTGRES_VERSION

ARG POSTGRES_VERSION
FROM postgres:${POSTGRES_VERSION}
...

docker build --build-arg POSTGRES_VERSION=9.6 .然后例如构建图像

文档也可能会有所帮助


推荐阅读