使用postgres Docker容器从安装Python 3.8

使用postgres Docker容器从安装Python 3.8,python,docker,debian,python-3.8,Python,Docker,Debian,Python 3.8,我遇到了一个意想不到的问题——在Docker容器中安装Python 3.8时遇到了问题 我已经创建了一个Dockerfile,用作我的测试数据库。作为其创建的一部分,它需要运行Python脚本来填充测试数据。但是,我无法完成我认为最简单的步骤:安装Python FROM postgres # Install Python dependencies --------- RUN apt-get update && apt dist-upgrade -y RUN apt instal

我遇到了一个意想不到的问题——在Docker容器中安装Python 3.8时遇到了问题

我已经创建了一个Dockerfile,用作我的测试数据库。作为其创建的一部分,它需要运行Python脚本来填充测试数据。但是,我无法完成我认为最简单的步骤:安装Python

FROM postgres

# Install Python dependencies ---------
RUN apt-get update && apt dist-upgrade -y
RUN apt install software-properties-common --yes
RUN apt-get install ca-certificates --yes
RUN gpg-agent --daemon --enable-ssh-support
RUN add-apt-repository ppa:deadsnakes/ppa --yes
RUN apt install python3.8 --yes
RUN python3.8 --version
让我有些惊讶的是,只有Python 3.7可以通过apt get获得。获得批准的让Python 3.8使用死蛇的方法-但这会产生以下错误:

Step 12/33 : RUN add-apt-repository ppa:deadsnakes/ppa --yes
 ---> Running in 17d490c0b568
gpg: keybox '/tmp/tmp8n9r_96q/pubring.gpg' created
gpg: /tmp/tmp8n9r_96q/trustdb.gpg: trustdb created
gpg: key BA6932366A755776: public key "Launchpad PPA for deadsnakes" imported
gpg: Total number processed: 1
gpg:               imported: 1
Warning: apt-key output should not be parsed (stdout is not a terminal)
gpg: no valid OpenPGP data found.
根据我找到的各种帖子,我补充道:

RUN apt-get install ca-certificates --yes
RUN gpg-agent --daemon --enable-ssh-support

尽管它们似乎没有什么坏处(后者似乎消除了来自gpg的第二条错误消息),但它们并没有解决问题……

好的,在debian容器上安装Python 3.8(而最新的发行版是Python 3.7)似乎比它值得的麻烦多了


我的解决方法是创建第二个运行Python的Docker容器。这在一次性操作中填充了Postgres容器。

一个基于
Postgres
图像的容器用于数据库,一个基于
python
的容器用于python应用程序如何?@klauds。我当然不反对,但我一直在努力找出如何保存填充的postgress图像。我需要能够做到这一点(为我的生产数据库),所以所有的提示和提示欢迎!无法保存已填充的PostgreSQL映像(但可以将其实际数据存储在卷或主机目录中)。例如,见。美元。建议使用一个单独的容器来加载种子数据可能是正确的方法。谢谢,@DavidMaze。我和一位同事正在研究这个问题,但我们正在试图找到从Django中提取数据并放到卷中的“官方”方法……您能用最终的docker文件进行编辑吗?@DBA108642这是什么意思?