一个包含python和java环境的dockerfile

现在一个项目中遇到python调用java的jar包的环境。为了方便发布,编写了这个dockerfile,作为基础镜像。

 1 #this docker file is used to build runtime environment.
 2 #The project is a python app which contains a java jar lib.
 3 FROM centos
 4 MAINTAINER mzyn22 <[email protected].com>
 5
 6 COPY ./requirements.txt /usr/local/src/requirements.txt
 7 # update software resource
 8 RUN yum -y install wget &&  9     cd /etc/yum.repos.d/  && 10     mkdir bak  && 11     mv *.repo bak  && 12     wget http://mirrors.aliyun.com/repo/Centos-7.repo  && 13     wget http://mirrors.aliyun.com/repo/epel-7.repo  && 14     yum -y install zlib-devel bzip2-devel openssl-devel openssl-static ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel lzma gcc  && 15     yum -y groupinstall "Development tools"  && 16     yum -y install java-1.8.0-openjdk.x86_64  && 17     cd /usr/local/src/  && 18     wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz  && 19     tar xvf Python-3.7.0.tar.xz  && 20     mv Python-3.7.0 /usr/local/python-3.7 && 21     cd /usr/local/python-3.7/ && 22     ./configure --prefix=/usr/local/sbin/python-3.7 && 23     make && make install && 24     rm -rf /usr/bin/python && 25     ln -sv /usr/local/sbin/python-3.7/bin/python3 /usr/bin/python && 26     ln -sv /usr/local/sbin/python-3.7/bin/python3 /usr/bin/python3 && 27     ln -sv /usr/local/sbin/python-3.7/bin/python3 /usr/bin/python37 && 28     sed -i 1s/python/python2.7/ /usr/bin/yum && 29     sed -i 1s/python/python2.7/ /usr/libexec/urlgrabber-ext-down && 30     sed -i 1s/python/python2.7/ /usr/bin/yum-config-manager && 31
32     sed -i ‘$a\JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk.x86_64‘ /etc/profile && 33     sed -i ‘$a\PATH=$PATH:$JAVA_HOME/bin‘ /etc/profile && 34     sed -i ‘$a\CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar‘ /etc/profile && 35     sed -i ‘$a\export JAVA_HOME CLASSPATH PATH‘ /etc/profile && 36     source /etc/profile && 37     ln -s /usr/local/sbin/python-3.7/bin/pip3 /usr/bin/pip && 38     pip install --upgrade pip
39
40 RUN    pip install -r /usr/local/src/requirements.txt

原文地址:https://www.cnblogs.com/mzyn22/p/python-java-dockerfile-centos.html

时间: 2024-11-09 13:23:46

一个包含python和java环境的dockerfile的相关文章

一个简单的SSL Server和SSL Client来讲解Java环境下SSL的通信原理

首先我们先回顾一下常规的Java Socket编程.在Java下写一个Socket服务器和客户端的例子还是比较简单的.以下是服务端的代码: Java代码   package org.bluedash.tryssl; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Serve

【Python】Java程序员学习Python(二)— 开发环境搭建

巧妇难为无米之炊,我最爱的还是鸡蛋羹,因为我和鸡蛋羹有段不能说的秘密. 不管学啥,都要有环境,对于程序员来说搭建个开发环境应该不是什么难题.按顺序一步步来就可以,我也只是记录我的安装过程,你也可以滴. 一.准备Java环境 我已经说过了,其实我是一个Java程序员,所以学习过程中会有很多Java相关的内容和对比.先介绍下我的基本情况 jdk1.8 eclipse即可,版本最新的 怎么安装java,配置环境变量什么的,我都不会再说了,我这不是小白教程,我相信具备一定的能力. 二.准备Python环

14行脚本配置Linux下一个Java环境变量

供Java人们刚开始学习.多半Java它需要花费大量的精力在开发环境的配置,于Linux下一个,构造Java环境变量,很可能加入这一努力. 为此,我做了一个bash脚本来配置自己主动Java环境变量.你只需要的例子,下面的脚本,你下载jdk压缩成一个目录.该脚本.并根据提示输入一些信息就可以. config_java.sh #!/bin/bash jdkpath=/usr/lib/java/ sudo mkdir $jdkpath read -p "Please input the name o

如何在java环境中安装python编辑器

Eclipse安装教程 --史上最详细安装java & python教程说明   (Win7_64位 + Eclipse 64位 + JDK_8u131_64位 + python2.7.8 + PyDev5.7.0插件) 适用操作系统:Win7 64位 所需要的软件以及插件:Eclipse 64位.JDK_8u131_64位.python2.7.8.PyDev5.7.0插件   第一次发这么长的博客,若有问题,请大家多多指教,谢谢! 为便于安装,我已将以上软件.插件打包!内容如下图片,因此请直接

Windows&amp;Appium&amp;Java&amp;Python自动化测试-开发环境

一.摘要 本篇博文,主要介绍借助Appium做移动端自动化测试的开发环境搭建,包括Java和Python Java环境:Appium+Maven+Idea+TestNG+Ngreport Python环境:Appium+Pycharm+Unittest 二.Java环境 用MAVEN建立项目的好处: 优点一:项目非常大时,可借助Maven将一个项目拆分成多个工程,最好是一个模块对应一个工程,利于分工协作.而且模块之间还是可以发送消息的. 优点二:借助Maven,可将jar包仅仅保存在"仓库&qu

java基础:java环境,第一个Java程序,java的数组

java环境: 1. 什么是字节码和虚拟机? 2. 环境变量的设置 3.一些常用的java命令 4. 计算机如何运行java程序? 5. java的垃圾回收器 6. java的基本数据类型及转换 举例:第一个Java程序 Java的数组: 1. 一维数组 数组的声明 数组分配空间及初始化 数组的长度 两个数组之间的拷贝:System.arraycopy(array1,start,array2,start,length) 2. 二位数组 二维数组的声明及初始化

这是关于FastJson的一个使用Demo,在Java环境下验证的

1 public class User { 2 private int id; 3 private String name; 4 public int getId() { 5 return id; 6 } 7 public void setId(int id) { 8 this.id = id; 9 } 10 public String getName() { 11 return name; 12 } 13 public void setName(String name) { 14 this.n

【美妙的Python之中的一个】Python简单介绍及环境搭建

美妙的Python之Python简单介绍及安装         简而言之: Python 是能你无限惊喜的语言,与众不同.             1.Python:          Python英文意思为蟒蛇,故又称为蟒蛇语言,在图标设计上有所体现,贵铎·范·罗萨姆(Guido van Rossum)于1989年创立.Python的特质,简单,优雅,健壮,继承传统编程语言的强大性与通用性,同一时候兼具简单脚本的简单性.         Python的哲学:仅仅用一种方法,最好是仅仅有一种方法

Linux下搭建Java环境变量并实现第一个Java小程序

1.首先,我们打开虚拟机里面的Linux操作系统,然后点击下图菜单下的虚拟机选项: 在点击虚拟机下的设置菜单,如下图所示: 这里我已经添加进去我所需要的文件夹了,我放在本机E盘下的as文件夹里面到底放了什么呢? 上图这两个压缩文件,一个是android studio的压缩包,上年发布出来的,一直没用它,今天本来想在windows下安装这个软件,发现所需要的jdk是1.7,而我在windows下的jdk版本为1.6,所以打算在Linux操作系统下安装jdk1.7,并安装andoid studio工