Java
在容器中运行 Java 代码最简单的方法是将 Java 编译指令直接写入 Dockerfile,然后使用此 Dockerfile 构建并运行此镜像,即可启动程序。
在本地创建一个空目录,在其中创建 Dockerfile 文件。在 Dockerfile 中,加入需要执行的 Java 编译命令,例如:
FROM java:7
COPY . /usr/src/javaapp
WORKDIR /usr/src/javaapp
RUN javac HelloWorld.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 倍。

