当前位置: 首页 > 知识库问答 >
问题:

使用python 2.7创建基本docker centos映像。8.

莘钧
2023-03-14

我发现了这一点,它将引导您创建一个基本的裸机centos图像。不过,我想安装一些附加的yum软件包,下载python2.7。8和建造它。

我有这个在dockerfile和已经工作像:

# Set the base image to Ubuntu
FROM centos:7

# File Author / Maintainer
MAINTAINER Sam Mohamed

# Update the sources list
RUN yum -y update
RUN yum install -y zlib-dev openssl-devel sqlite-devel bzip2-devel xz-libs gcc g++ build-essential make

# Install Python 2.7.8
RUN curl -o /root/Python-2.7.9.tar.xz  https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tar.xz
RUN tar -xf /root/Python-2.7.9.tar.xz -C /root
RUN cd /root/Python-2.7.9 && ./configure --prefix=/usr/local && make && make altinstall

# Copy the application folder inside the container
ADD `pwd` /opt/iws_project

# Download Setuptools and install pip and virtualenv
RUN wget https://bootstrap.pypa.io/ez_setup.py -O - | /usr/local/bin/python2.7
RUN /usr/local/bin/easy_install-2.7 pip
RUN /usr/local/bin/pip2.7 install virtualenv

# Create virtualenv and install requirements:
RUN /usr/local/bin/virtualenv /opt/iws_project/venv && source /opt/iws_project/bin/activate && pip install -r /opt/iws_project/requirements.txt

如何将上述内容转换为基础图像?

共有1个答案

柯永福
2023-03-14

您最好构建给定的Dockerfile,并将生成的图像用作未来图像的基础。这更易于维护,并且在资源使用方面不需要花费任何成本。

但如果您真的想创建单层“基础图像”,步骤如下:

>

  • 将所需的所有内容安装到某个目录中(docker-centos-65/在链接的教程中)。

    • 您可以从您链接的教程中修改febootstrap命令,通过指定更多的-i标志来安装附加的yum包。
    • 您可以执行任何其他自定义安装(例如:Python)手动,只需确保所有内容都在同一个根目录中结束

    创建安装所有内容的目录的tar存档,并将其传送到docker import命令:

    tar c -C docker-centos-65/ . | docker import - my-base-image
    

  •  类似资料:
    • 我参考了Docker官方文档:创建基本映像并执行以下命令: 我收到上一个命令的错误消息,图像“raring”为空,0B。 由于映像是空的,我将目标从 /dev/null更改为。/rootfs参考此页面:如何为Docker制作自己的基本映像? 但Debootstrap无法获取发布: 使用wget和我的浏览器,我发现“http://archive.ubuntu.com/ubuntu/dists/rar

    • 我正在尝试用Dockers创建一个GraalVM本地映像。我已经创建了一个Micronaut项目,并成功创建了jar应用程序,并在docker中运行;此外,我已经用这个jar文件创建了一个GraalVM本机映像,现在可以运行这个应用程序,但我需要在docker中运行一个GraalVM本机映像,在论坛中寻找答案。我发现有必要在docker中构建本机映像。因此我尝试了这个docker文件: 它不会抛出

    • 我尝试使用minikube从本地docker镜像和docker hub部署kubernetes。但两者都不起作用。 方法1:使用保存和加载tar文件,创建了图像,它可用于kubectl。 执行以下命令以创建部署: 从kubectl描述pod命令, 方法2:我将映像推送到我的docker hub存储库(https://hub.docker.com/r/get2arun/elk/tags),然后在终端

    • 问题内容: 我正在处理dockerfile。我只是意识到我一直在使用索引图像。 所以我想知道: 如何在我的本地(自定义)图像之一不作为索引的情况下将其用作基础()图像? 问题答案: 您可以使用它而无需执行任何特殊操作。如果您有一个本地图像,可以这样做。如果您在Dockerfile中进行操作,但 没有 名为的本地映像, 则 Docker将尝试从注册表中提取它。 换句话说,如果Dockerfile这样

    • VM create失败,原因是ISOSDISK错误:MSRESTAZURE.AZURE_Exceptions.CloudError:不允许更改属性'osDisk.Image.URI'。 如果有帮助,则是将事务发送到Azure: URL:hps://management.azure.com/subscriptions/b97ddb69-f825-48b4-9e19-48eb3b4c8267/reso

    • 我正在尝试创建一个具有文本和透明背景的图像文件。 我使用了这个命令: 但它并没有给我创造任何东西,我收到了以下错误/消息: