Dockerfile文件整理合集
Python
准备Centos-7.repo、Python-3.9.13.tar.xz
1
curl -o Python-3.9.13.tar.xz https://www.python.org/ftp/python/3.9.13/Python-3.9.13.tar.xz
准备Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29FROM centos:7
ADD Python-3.9.13.tar.xz /home/software/
RUN curl -o /home/software/Centos-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo \
&& sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /home/software/Centos-Base.repo \
&& rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 \
&& mv -f /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo-bak \
&& mv -f /home/software/Centos-Base.repo /etc/yum.repos.d/CentOS-Base.repo \
&& yum clean all \
&& yum makecache \
&& rm -f /etc/localtime \
&& ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& yum -y install kde-l10n-Chinese \
&& yum -y reinstall glibc-common -y \
&& yum -y groupinstall "Development tools" \
&& yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel \
&& yum install libffi-devel -y \
&& mkdir /usr/local/python3 \
&& cd /home/software/Python-3.9.13 \
&& ./configure --prefix=/usr/local/python3 \
&& make && make install \
&& ln -s /usr/local/python3/bin/python3 /usr/local/bin/python3 \
&& ln -s /usr/local/python3/bin/pip3 /usr/local/bin/pip3 \
&& localedef -c -f UTF-8 -i zh_CN zh_CN.utf8 \
&& rm -rf /home/software/Python-3.9.13 \
&& yum clean all
ENV LC_ALL zh_CN.UTF-8
ENV PYTHON3_HOME /usr/local/python3
ENV PATH $PATH:$PYTHON3_HOME/bin执行构建
1
docker build -t python:3.9.13 .
tips:
这个镜像构建因为要下载很多东西,受网络波动影响失败率很大,找一个网络好的机器,不然会因为网络中
或者启动基础镜像,进入容器操作完再commit
1
2
3docker run -dit --name centos7 centos:7 /bin/bash
docker exec -it --name centos7
docker commit centos7 python:3.9.13进入镜像操作时,环境变量设置有些区别
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21[root@3f1f35ada421 Python-3.9.13]# localedef -c -f UTF-8 -i zh_CN zh_CN.utf8
[root@3f1f35ada421 Python-3.9.13]# vi /etc/profile
export LC_ALL=zh_CN.UTF-8
export PYTHON3_HOME=/usr/local/python3
export PATH=$PATH:$PYTHON3_HOME/bin
[root@3f1f35ada421 Python-3.9.13]# source /etc/profile
[root@bb06fa299fd2 /]# vi /root/.bashrc
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
source /etc/profile