我发现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
如何将上述内容转换为基本图像?
答案 0 :(得分:1)
最好构建给定的Dockerfile并使用生成的图像作为未来图像的基础。这更容易维护,并且在资源使用方面并没有真正花费任何成本。
但如果您真的想要创建单层“基本图像”,步骤如下:
将您想要的所有内容安装到某个目录(链接教程中的docker-centos-65/
)。
febootstrap
标记来修改您链接的教程中的yum
命令以安装其他-i
个包。创建安装所有内容的目录的tar
存档,并将其传递给docker import
命令:
tar c -C docker-centos-65/ . | docker import - my-base-image