我用java创建了一个Docker镜像,并将jar文件复制到镜像中。我的Dockerfile是:
FROM anapsix/alpine-java
MAINTAINER myNAME
COPY testprj-1.0-SNAPSHOT.jar /home/testprj-1.0-SNAPSHOT.jar
RUN java -jar /home/testprj-1.0-SNAPSHOT.j
字符串
执行以下命令后:
docker build -t imageName.
型
在控制台中,我看到了应用程序的输出,一切正常。但是当我停止图像时,我不知道如何再次运行图像?当我执行以下命令时:
docker run -i -t imageName java -jar /home/testprj-1.0-SNAPSHOT.jar
型
应用程序再次运行,但在我的Dockerfile中我已经写了这个命令。我如何在没有这个命令的情况下运行镜像并让应用程序自动运行?
3条答案
按热度按时间c0vxltue1#
图像和容器之间存在差异。
在您的案例中:
更改您的图像:
字符串
建立您的形象:
型
现在,在容器中调用程序:
型
现在,通过重新启动容器来重新启动程序:
型
您的程序已更改?请重建映像!:
型
mqxuamgl2#
这可能不完全是你问的,但是如果你 * 只是 * 需要运行一个容器(而不是只是一个更大的自定义容器的一部分),我喜欢这种将卷/文件夹Map到容器并使用标准上游映像运行它的方法:
字符串
如果需要显示GUI,甚至可以添加some additional args。
2w3kk1z53#
现在回答太晚了,但我更喜欢分享我的运行命令。
字符串