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

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

被折叠的 条评论
为什么被折叠?



