Ubuntu 18.04 docker映像的PostgreSQL 12安装问题

Ubuntu 18.04 docker映像的PostgreSQL 12安装问题,postgresql,docker,dockerfile,ubuntu-18.04,Postgresql,Docker,Dockerfile,Ubuntu 18.04,我试图在Ubuntu容器上安装Postgresql-12,但它给出了以下错误 正在读取状态信息。。。 E:找不到包postgresql-12 E:找不到包postgresql-client-12 看起来Ubuntu 18容器不支持PostgreSQL版本12。 有没有办法在Ubuntu 18.04容器上安装postgresl版本12? 欢迎任何帮助。docker文件代码片段如下所示 FROM ubuntu:18.04 RUN apt-get update && apt-get

我试图在Ubuntu容器上安装Postgresql-12,但它给出了以下错误

正在读取状态信息。。。 E:找不到包postgresql-12 E:找不到包postgresql-client-12

看起来Ubuntu 18容器不支持PostgreSQL版本12。 有没有办法在Ubuntu 18.04容器上安装postgresl版本12? 欢迎任何帮助。docker文件代码片段如下所示

FROM ubuntu:18.04

RUN apt-get update && apt-get install -y gnupg dirmngr

RUN apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8

RUN echo "deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main" > /etc/apt/sources.list.d/pgdg.list

RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y software-properties-common postgresql-12 postgresql-client-12

您似乎使用了错误的APT包存储库。替换

RUN echo "deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main" > /etc/apt/sources.list.d/pgdg.list

然后再试一次
precise
是Ubuntu 12.04的代码名(它在几年前就已经过时了),但您的Dockerfile使用的是较新的Ubuntu 18.04。Ubuntu 18.04的代码名是
bionic

编辑: 由于我在连接Dockerfile中给出的密钥服务器时遇到问题,我查看了并通过
wget
获取了密钥,如图所示。Dockerfile现在看起来是这样的:

FROM ubuntu:18.04
RUN apt-get update && apt-get install -y gnupg dirmngr wget
RUN echo "deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main" > /etc/apt/sources.list.d/pgdg.list
RUN wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y software-properties-common postgresql-12 postgresql-client-12

值得注意的变化是安装了
wget
(第2行)并使用它获取密钥(第4行)。

似乎您使用了错误的APT软件包存储库。替换

RUN echo "deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main" > /etc/apt/sources.list.d/pgdg.list

然后再试一次
precise
是Ubuntu 12.04的代码名(它在几年前就已经过时了),但您的Dockerfile使用的是较新的Ubuntu 18.04。Ubuntu 18.04的代码名是
bionic

编辑: 由于我在连接Dockerfile中给出的密钥服务器时遇到问题,我查看了并通过
wget
获取了密钥,如图所示。Dockerfile现在看起来是这样的:

FROM ubuntu:18.04
RUN apt-get update && apt-get install -y gnupg dirmngr wget
RUN echo "deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main" > /etc/apt/sources.list.d/pgdg.list
RUN wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y software-properties-common postgresql-12 postgresql-client-12
值得注意的变化是安装了
wget
(第2行)并使用它获取钥匙(第4行)