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