基于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

在这里插入图片描述