Docker打包Java8,Python37环境共存镜像

思路
shell 复制代码
构建CentOS7容器
并在该容器中配置相关 Java8,Python37 环境
将该配置好环境容器打包成最终镜像

构建 CentOS7 容器
shell 复制代码
mkdir -p /usr/local/src/centos7_with_jdk8_python37
cd /usr/local/src/centos7_with_jdk8_python37
vim Dockerfile
dockerfile 复制代码
FROM centos:7
MAINTAINER  "ai_service"
shell 复制代码
# 打包CentOS7镜像
docker build -t centos7_with_jdk8_python37:1.0.0 .

# 启动容器
docker run -id \
  --net=host \
  --name=centos7_with_jdk8_python37_1.0.0 \
centos7_with_jdk8_python37:1.0.0

容器内配置Java8环境
shell 复制代码
docker exec -it centos7_with_jdk8_python37_1.0.0 /bin/bash
shell 复制代码
# 配置JDK8环境
yum -y install java-1.8.0-openjdk.x86_64 && \
sed -i '$a\JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk.x86_64' /etc/profile && \
sed -i '$a\PATH=$PATH:$JAVA_HOME/bin' /etc/profile && \
sed -i '$a\CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar' /etc/profile && \
sed -i '$a\export JAVA_HOME CLASSPATH PATH' /etc/profile && \
source /etc/profile && \
java -version

容器内配置Pyhton37环境
shell 复制代码
docker exec -it centos7_with_jdk8_python37_1.0.0 /bin/bash
shell 复制代码
# 配置Python3环境
yum -y install numactl vim libffi libffi-devel openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc automake autoconf libtool make wget  && \
cd /usr/local/src/  && \
    wget https://mirrors.huaweicloud.com/python/3.7.0/Python-3.7.0.tar.xz  && \
    tar xvf Python-3.7.0.tar.xz  && \
    mv Python-3.7.0 /usr/local/python-3.7 && \
    cd /usr/local/python-3.7/ && \
    ./configure --prefix=/usr/local/sbin/python-3.7 && \
    make && make install && \
    rm -rf /usr/bin/python && \
    ln -sv /usr/local/sbin/python-3.7/bin/python3 /usr/bin/python && \
    ln -sv /usr/local/sbin/python-3.7/bin/python3 /usr/bin/python3 && \
    ln -sv /usr/local/sbin/python-3.7/bin/python3 /usr/bin/python37 && \
    sed -i 1s/python/python2.7/ /usr/bin/yum && \
    sed -i 1s/python/python2.7/ /usr/libexec/urlgrabber-ext-down && \
    sed -i 1s/python/python2.7/ /usr/bin/yum-config-manager

提交容器成镜像
shell 复制代码
# 提交容器成镜像
docker commit -m="has update" -a=" ai_service" centos7_with_jdk8_python37_1.0.0 centos7_with_jdk8_python37:2.0.0
# 保存镜像到本地后清除 centos7_with_jdk8_python37_1.0.0,2.0.0 容器及镜像
docker save -o ./centos7_with_jdk8_python37:2.0.0.tar centos7_with_jdk8_python37:2.0.0
docker load -i ./centos7_with_jdk8_python37:2.0.0.tar
相关推荐
小陈phd7 小时前
混合知识库搭建:本地Docker部署Neo4j图数据库与Milvus向量库
数据库·docker·neo4j
Wpa.wk8 小时前
容器编排 - 了解K8s(pod, deployment,service,lable等概念)
经验分享·测试工具·docker·云原生·容器·kubernetes
xuefuhe10 小时前
Kubernetes基础入门4 应用的扩展与收缩
云原生·容器·kubernetes
Wpa.wk11 小时前
容器编排 - K8s - 配置文件参数说明和基础命令
经验分享·测试工具·docker·云原生·容器·kubernetes
LCG米13 小时前
基于PyTorch的TCN-GRU电力负荷预测:从多维数据预处理到Docker云端部署
pytorch·docker·gru
Warren9814 小时前
接口测试理论
docker·面试·职场和发展·eureka·ansible
杭州杭州杭州14 小时前
Docker
运维·docker·容器
一体化运维管理平台15 小时前
容器监控难题破解:美信监控易全面支持K8s、Docker
云原生·容器·kubernetes
qiubinwei16 小时前
kubeadm部署K8S集群(踩坑实录)
云原生·容器·kubernetes
等什么君!17 小时前
Docker 数据卷:MySQL 数据同步实战
运维·docker·容器