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
相关推荐
2301_773638631 小时前
Kubernetes部署MySQL主从复制
mysql·容器·kubernetes
kong@react5 小时前
docker部署spring boot,安装jdk17、maven3.8.8详细步骤
java·spring boot·docker
hhzz6 小时前
Kubernetes 的20 个核心命令分类详解
云原生·容器·kubernetes
再吃一根胡萝卜8 小时前
如何查看本地所有 Podman 镜像
docker
为了摸鱼而战10 小时前
Docker-compose知识点梳理,你要懂的都在这
docker·容器
yunyi10 小时前
使用acme.sh来实现自动化申请和续订TLS证书
linux·nginx·docker
包达叔11 小时前
docker国内镜像源
运维·docker·容器
半路程序员13 小时前
Mac安装docker,启动elasticsearch
elasticsearch·docker·容器
-L71 天前
进入docker中mysql容器的方法
运维·mysql·docker·容器
明月与玄武1 天前
Docker化性能监控平台搭建:JMeter+InfluxDB+Grafana全攻略
jmeter·docker·grafana