docker之java和python編程

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
發佈了276 篇原創文章 · 獲贊 163 · 訪問量 35萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章