build立一个docker图像不会停止,因为我的世界服务器继续运行

所以我一直在努力学习docker几天,为我设定了第一个目标。 我想在docker集装箱内运行一个龙头服务器,然后在路上将它与一个BungeeCordnetworking结合起来。 我遇到了问题。 我的dockerfile运行没有问题,但一旦达到启动的Minecraft服务器的点,图像停止build设。 我认为这是由于服务器继续运行,而不是返回一个代码0来显示docker继续运行。 我的想法有错,如果不是,我该如何解决这个问题?

这是我的Dockerfile:

FROM ubuntu:14.04 RUN apt-get update RUN apt-get install openjdk-7-jre icedtea-7-plugin -y RUN apt-get install wget -y RUN mkdir mc_server && cd mc_server/ RUN wget http://getspigot.org/spigot18/spigot_server.jar RUN java -Xms1536m -Xmx1536m -Dcom.mojang.eula.agree=true -jar spigot_server.jar nogui 

这样服务器启动,但docker工人永远不会完成build设。 我希望我明确地解决了我的问题。

问候,乔尔

CMDreplace最后一个RUN

RUN / ADD / ..用于构build要在其中运行应用程序的静态容器环境。在运行实际应用程序之前发生的所有事情。

CMDENTRYPOINT定义了在ENTRYPOINT docker run之后容器内应该发生的事情。 这是启动脚本/调用程序的位置。

Dockerfile的结果类似于closures的计算机,但硬盘上已经安装了一切,包括自动启动应用程序的脚本。 打开它,一切开始运行。

PS: https : //hub.docker.com/search/?q=spigot&page=1&isAutomated=0&isOfficial=0&starCount=0&pullCount=0有几个现有的图像

Interesting Posts