首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以Python为基本映像的CentOS

以Python为基本映像的CentOS
EN

Stack Overflow用户
提问于 2020-06-16 13:04:23
回答 1查看 6.3K关注 0票数 1

我创建了一个Dockerfile,然后构建它供我的团队使用。目前,我正在从CentOS:最新映像中提取,然后构建最新版本的Python,并将映像保存到.tar文件中。想法是让我的同事使用这个图像将他们的projects添加到/pyscripts文件夹中。这是建立一个基本形象的推荐方式,还是有一个更好的方法,我可以这样做?

代码语言:javascript
复制
# Filename: Dockerfile
From centos

RUN yum -y update && yum -y install gcc openssl-devel bzip2-devel libffi-devel wget make && yum clean all

RUN cd /opt && wget --no-check-certificate https://www.python.org/ftp/python/3.8.3/Python-3.8.3.tgz && tar xzf Python-3.8.3.tgz && cd Python-3.8*/ && ./configure --enable-optimizations && make altinstall && rm -rf /opt/Python* && mkdir /pyscripts

非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-16 14:05:42

是的,这是从父映像(本例中为CentOS )构建基本映像的标准和推荐方法,如果您需要CentOS系统上的Python 3.8.3 (latest版本)的话。

或者,您可以从Docker存储库中提取具有最新Python版本(现在是3.8.3)的通用Python映像,但基于其他Linux发行版(Debian),方法是运行:

代码语言:javascript
复制
docker pull python:latest

然后构建一个基本映像,您只需在其中创建目录/pyscripts。

所以Dockerfile应该是这样的:

代码语言:javascript
复制
FROM python:latest
RUN mkdir /pyscripts

或者,您可以通过运行以下命令从Docker存储库中提取已经构建的映像(带有较低版本的3.6):

代码语言:javascript
复制
docker pull centos/python-36-centos7

然后从它构建一个基本映像,您只需要创建目录/pyscripts,以便Dockerfile看起来如下所示:

代码语言:javascript
复制
FROM centos/python-36-centos7:latest
USER root
RUN mkdir /pyscripts

请记住,在第一行之后添加这一行,以根用户身份运行命令:

代码语言:javascript
复制
USER root

否则,您将得到一个Permission Denied错误消息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62409214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档