在打包镜像时,centos原生镜像中python版本为2.7。如果我们的服务基于python3版本,则需要手动安装。在安装时,有一点需要注意的是:由于系统中某些服务以来python2.7版本,因此不要去删除或修改系统中python的默认版本,否则会产生不可预知的后果。下面给出一个python3镜像打包示例:
# base image
FROM centos:7.2.1511
# install related packages and python3
ENV ENVIRONMENT DOCKER_PROD
RUN cd / && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& yum makecache \
&& yum install -y wget aclocal automake autoconf make gcc gcc-c++ python-devel mysql-devel bzip2 libffi-devel epel-release\
&& wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz \
&& tar -xvf Python-3.7.0.tar.xz -C /usr/local/\
&& rm -rf Python-3.7.0.tar.xz \
&& cd /usr/local/Python-3.7.0 \
&& ./configure && make && make install \
&& yum clean all
# install related python packages
RUN yum install -y python-pip \
&& yum install -y python-setuptools \
&& pip3 install --upgrade pip -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com \
&& pip3 install setuptools==33.1.1 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com \
&& pip3 install jieba==0.39 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com \
&& pip3 install gensim==3.7.2 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com \
&& pip3 install scipy==1.2.0 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com \
&& pip3 install pandas==0.24.0 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com \
&& pip3 install tensorflow==1.13.1 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com \
在进行安装时,使用
&&
连接多行的原因时:减少镜像层数量,压缩镜像体积。