基于docker(纯净centos系统)打包centos7+python3的镜像 和 如何在centos7部署python3环境




一、下载centos镜像

1、搜索centos镜像

docker search centos1


截图展示:在这里插入图片描述
2、下载

docker pull docker.io/centos1


截图展示:
在这里插入图片描述
3、查看已下载的centos纯净系统

docker images1


截图展示:
在这里插入图片描述

二、创建容器并运行镜像

docker run -dit --name='centos_py3' 67fa590cfc1c /bin/bash
查看所有容器:docker ps -a 
12


截图展示:
在这里插入图片描述

三、进入centos_py3容器并部署python3环境

1、进入centos_py3容器

docker exec -it centos_py3 /bin/bash1


截图展示:
在这里插入图片描述
2、安装依赖包(最后显示 Complete! 表示安装成功)

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc* make -y1


截图展示:
在这里插入图片描述3、下载python安装包

wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tar.xz1


注意:容器环境为纯净版本,wget命令默认没有安装,需要 yum install wget -y 进行安装
注意:python安装包安装路径,本次安装路径为   /opt

截图展示:
在这里插入图片描述
4、 解压python安装包

tar -Jxvf Python-3.5.2.tar.xz1


截图展示:
在这里插入图片描述在这里插入图片描述
5、配置安装路径(切入到解压目录下操作)

./configure prefix=/usr/local/python31


截图展示:
在这里插入图片描述
6、编译安装(在解压目录下操作)

make && make install1


截图展示:
在这里插入图片描述
如果安装的是python3.7
执行make 报错

“ImportError: No module named '_ctypes'” 缺少依赖包

yum -y install gcc kernel-devel kenel-headers make bzip2
yum -y install gcc gcc-c++ zlib zlib-devel libffi-devel

重新编译执行 make123456


7、检测是否安装成功
截图展示:
在这里插入图片描述8、配置软连接
需要将python3的执行程序 连接到根下的bin目录 但是跟下的bin目录指向的是/usr/bin 所以我们将python3的执行文件链接到/usr/bin下就可以了

ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip312


截图展示:
在这里插入图片描述

四、将配置好环境的容器打包成镜像

1、退出容器

查看容器信息
在这里插入图片描述
打包前docker的镜像
在这里插入图片描述
2、打包容器为镜像

docker commit -m ’描述’  -a ’作者’ 容器名 镜像名:标签名1


在这里插入图片描述
可以发现镜像列表中多了一个自己创建的镜像

五、使用自己打包的镜像创建沙箱环境

创建一个容器测试一下打包后的centos_py3镜像是否好用:

docker run -idt --name='ceshi' 08723a7d9172 /bin/bash1


在这里插入图片描述
进入容器:

docker exec -it ceshi /bin/bash1


在这里插入图片描述
python3环境可以正常运行

六、镜像的使用

1、我可以将镜像打包到本地
格式:docker save -o 压缩后的文件名.Tar 镜像名 (注意你的路径)

docker save -o centos_py3.tar centos_py31


在这里插入图片描述
centos_py3.tar 就是我们打包的的镜像
2、使用tar包的镜像
格式:docker load < tar包的路径(注意路径)

docker load < centos_py31


在这里插入图片描述