用python 2.7.8创建base docker centos图像

时间:2015-08-16 18:07:21

标签: python centos docker dockerfile

我发现this引导您创建一个基本的裸金属centos图像。我想安装一些额外的yum软件包,下载Python 2.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 个答案:

答案 0 :(得分:1)

最好构建给定的Dockerfile并使用生成的图像作为未来图像的基础。这更容易维护,并且在资源使用方面并没有真正花费任何成本。

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

  1. 将您想要的所有内容安装到某个目录(链接教程中的docker-centos-65/)。

    • 您可以通过指定更多febootstrap标记来修改您链接的教程中的yum命令以安装其他-i个包。
    • 您可以手动执行任何其他自定义安装(例如Python),只需确保所有内容都在同一根目录中
  2. 创建安装所有内容的目录的tar存档,并将其传递给docker import命令:

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