如何在docker容器中运行一个jar而不会被退出?

发布于 2022-09-03 19:26:42 字数 980 浏览 14 评论 0

我使用hub.docker上的一个镜像《serperga/centos-java-7-oracle-image》启动了一个容器,并打算用他来运行一个jar,这个jar是maven打包出来的可以直接运行。已经在windows下运行过了,linux下也可以运行。
使用的命令如下:

[root@localhost ~]# docker run -i -t --privileged=true -v /root/myjar/redis.jar:/root/redis.jar --name redis_2 docker.io/serperga/centos-java-7-oracle-image java -jar /root/redis.jar

启动后,会有一大堆log打印在我的屏幕上。
clipboard.png

(图1)

此时可以看到容器是启动的,并且服务运行正常
clipboard.png

(图2)
这时无论我是ctrl+c 还是ctrl+z 退出了(图1)所示的shell
容器都将会exit

clipboard.png

(图3)

那么怎么才能让一个容器运行我的jar并且保持jar不会被退出,容器也不会被关闭?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

娜些时光,永不杰束 2022-09-10 19:26:42

加个-d 参数,Docker会将容器放到后台去运行

一抹微笑 2022-09-10 19:26:42

docker run -d --privileged=true --restart=always -v /root/myjar/redis.jar:/root/redis.jar --name redis_2 docker.io/serperga/centos-java-7-oracle-image java -jar /root/redis.jar

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文