美文网首页
Docker制作CentOS的Python环境镜像

Docker制作CentOS的Python环境镜像

作者: 二班老许 | 来源:发表于2022-03-12 11:16 被阅读0次
1. 启动centos容器,如果本地没有centos7镜像会自动下载
docker run --name centos -itd centos:7 /usr/sbin/init
2. 查看docker容器进程

-a 会显示全部已启动和未启动的。

docker ps
docker ps -a
3. 进入centos容器
docker exec -it centos /bin/bash
4. 替换国内清华yum源(在海外不需要此步骤)
sed -e 's|^mirrorlist=|#mirrorlist=|g' -e 's|^#baseurl=http://mirror.centos.org|baseurl=https://mirrors.tuna.tsinghua.edu.cn|g' -i.bak /etc/yum.repos.d/CentOS-*.repo
yum makecache
5. 下载依赖
yum update
yum install zlib-devel bzip2-devel openssl openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel wget net-tools
6. 下载和安装openssl

由于yum安装的openssl不完整,需要下载一个最新办的进行安装。
步骤1里是否能不用yum安装openssl,还未考证。

cd
wget http://www.openssl.org/source/openssl-1.1.1.tar.gz
tar -zxvf openssl-1.1.1.tar.gz
cd openssl-1.1.1
./config --prefix=$HOME/openssl shared zlib
make && make install
mv $HOME/openssl /usr/lib/
echo "export LD_LIBRARY_PATH=/usr/lib/openssl/lib" >> $HOME/.bashrc
source $HOME/.bashrc
7. 下载和安装python
wget https://www.python.org/ftp/python/3.9.7/Python-3.9.7.tgz
tar -zxvf Python-3.9.7.tgz
cd Python-3.9.7
./configure --prefix=/usr/local/python3 --with-openssl=/usr/lib/openssl
make && make install

不要运行这个命令,可能会报错:./configure --enable-optimizations

8. 删掉原来的python、pip

如果不想删掉可以改名。如果删掉,要修改yum文件

rm -rf /usr/bin/python
rm -rf /usr/bin/pip

修改yum文件

vim /usr/libexec/urlgrabber-ext-down 
vim /usr/bin/yum

这两个文件的第一行#! /usr/bin/python改为#! /usr/bin/python2

9. 生成软连接
ln -s /usr/local/python3/bin/python3.9 /usr/bin/python
ln -s /usr/local/python3/bin/pip3.9 /usr/bin/pip
10. 装好python的centos作为环境,生成镜像

退出容器

exit

关闭容器

docker stop centos

生成镜像env_python3_centos7的1.0版本

docker commit centos env_python3_centos7:1.0

保存镜像到文件

docker save -o env_python3_centos7.tar env_python3_centos7:1.0
11. 用镜像文件导入

可以查看这篇文章:Docker导入镜像并生成容器

相关文章

网友评论

      本文标题:Docker制作CentOS的Python环境镜像

      本文链接:https://www.haomeiwen.com/subject/qvpkdrtx.html