docker之java和python编程

本文介绍如何在Docker容器中运行Java和Python代码,包括创建Dockerfile,构建和运行镜像的过程。对于Java,可通过Dockerfile直接包含编译和运行指令;对于Python,既可通过Dockerfile构建自定义镜像,也可直接使用官方镜像运行脚本。

Java

在容器中运行java代码最简单的方法就是将java编译指令直接写入Dockerfile,然后使用此Dockerfile构建并运行此镜像,即可启动程序。
在本地创建一个空目录,在其中创建Dockerfile文件。在Dockerfile中,加入需要执行的Java编译命令,例如:

FROM java:7
COPY . /usr/src/javaapp
WORKDIR /usr/src/javaapp
RUN javac HelloWord.java
CMD ["java","HelloWorld"]

使用此Dockerfile构建镜像java-image:

docker build -t java-image .

然后运行此镜像,即可自动编译程序并执行:

docker run -it --rm --name java-container java-image

如果只需要编译java程序,而不需要运行,则可以使用如下命令:

docker run  --rm  -v "$(pwd)":/usr/src/javaapp -w /usr/src/javaapp java:7 javac HelloWorld.java

"$(pwd)"中有你的HelloWorld.java文件,-w是工作目录

python

新建一个空目录,在此下面创建Dockerfile和py-sample.py文件。

FROM python:3-onbuild
CMD ["python3.5","./py-sample.py"]

其中py-sample.py是计算Fibonacci数列:

def fib(n):
	a,b=0,1
	while a<n:
		print(a,end=' ')
		a,b=b,a+b
	print()
fib(100)

使用docker build命令创建镜像

docker build -t py-image .

通过docker run创建并运行容器:

docker run -it --rm --name py-con  py-image

如果仅仅运行单个python脚本,则无须使用Dockerfile构建自定义镜像,而是通过以下命令直接使用官方Python镜像,带参数运行容器:

docker run -it --rm  --name my-runing  -v "$(pwd)":/usr/src/myapp -w /usr/src/myapp python:3  python py-simple.py
使用PyPy

PyPy是一个python实现的Python解释器和即时编译工具。专注速度和效率,其运行速度是python的10倍。
新建hi.py

for animal in ["dog","cat","mouse"]:
	print("%s is a animal" %animal)

创建Dockerfile

FROM pypy:3-onbuild
CMD ["pypy3","./hi.py"]

构建和运行此镜像

docker build -t my-py .
docker run -it --rm --name my-py-app  my-py

如果只需要运行单个pypy脚本,则可以直接运行以下命令:

docker run -it --rm --name my-py-app -v "$(pwd)"/usr/src/myapp -w /usr/src/myapp pypy:3   pypy3 hi.py
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值