我有一个Java应用程序(jar文件),希望能够从docker映像运行。
我创建了一个Dockerfile以使用centos作为基础来创建映像并按如下方式安装java:
Dockerfile
FROM centos
RUN yum install -y java-1.7.0-openjdk
我跑去docker build -t me/java7
获取图像me / java7
但是我陷于死胡同。
java -jar
当用户docker run
使用参数运行时需要自动传递给命令中的jar文件的数字附加说明:
jar文件是本地文件。无法托管在可通过wget或其他任何方式访问的任何地方。我目前最接近的是包含它的Windows共享。我还可以从git存储库访问源,但这将涉及编译所有内容并在映像上安装maven和git,所以我宁愿避免这种情况。
任何帮助深表感谢。
在Dockerfile中,使用ADD添加本地文件,例如
ADD your-local.jar /some-container-location
您可以使用卷在运行时将文件放入容器中,例如
VOLUME /copy-into-this-dir
然后您使用
docker run -v=/location/of/file/locally:/copy-into-this-dir -t me/java7
您可以使用ENTRYPOINT和CMD传递参数,例如
ENTRYPOINT ["java", "-jar", "/whatever/your.jar"]
CMD [""]
然后再次使用
docker run -v=/location/of/file/locally:/copy-into-this-dir -t me/java7 --myNumber 42
(查看Dockerfile文档。)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句