微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – 如何为本地应用程序创建Docker映像文件和值参数

我有一个 java应用程序(jar文件),我想要能够从码头图像运行.

我创建了一个Docker文件来创建一个使用centos作为基础的图像,并安装java本身:

Dockerfile
FROM centos
RUN yum install -y java-1.7.0-openjdk

我运行docker build -t me / java7以获取图像me / java7

但是我陷入了一些死胡同.

>如何将jar文件从主机复制到图像/容器中
>我需要2个参数. 1是一个文件,需要在运行时将其复制到容器中.另一个一个数字,需要在java -jar命令中自动传递到jar文件,当用户使用参数运行docker运行时

额外备注:

jar文件一个本地文件.通过wget或任何东西无法访问任何地方.目前最接近的是包含它的Windows共享.我也可以从git存储库访问源代码,但这将涉及编译所有内容,并在映像上安装maven和git,所以我宁愿避免这种情况.

任何帮助深表感谢.

解决方法

>在Docker文件中,使用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 documentation)

原文地址:https://www.jb51.cc/java/125298.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐