运行 图像中的 docker jar 文件
Run jar file in docker image
我用 java 创建了一个 Docker 图像,并将 jar 文件复制到图像中。
我的 Docker 文件是:
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
应用程序再次 运行s,但在我的 Docker 文件中我已经编写了此命令。如何在没有此命令的情况下 运行 图像并让应用程序自动 运行?
镜像和容器是有区别的。
- 映像将构建一次
- 您可以从镜像启动容器
你的情况:
更改图片:
FROM anapsix/alpine-java
MAINTAINER myNAME
COPY testprj-1.0-SNAPSHOT.jar /home/testprj-1.0-SNAPSHOT.jar
CMD ["java","-jar","/home/testprj-1.0-SNAPSHOT.jar"]
建立你的形象:
docker build -t imageName .
现在在容器中调用您的程序:
docker run --name myProgram imageName
现在通过重新启动容器来重新启动您的程序:
docker restart myProgram
你的程序改了吗?重建图像!:
docker rmi imageName
docker build -t imageName .
这可能与您的要求不完全相同,但是如果您只是需要运行一个 JAR(而不是它只是一个更大的自定义容器的一部分) ) 我喜欢这种将 volume/folder 映射到 JAR 并使用标准上游图像 运行 连接它的方法:
docker run --rm -it -v /home/me/folderHoldingJar:/home:Z java:latest /bin/bash -c '/usr/bin/java -jar /home/theJarFile.jar'
如果 JAR 需要显示 GUI,您甚至可以添加 some additional args。
我用 java 创建了一个 Docker 图像,并将 jar 文件复制到图像中。 我的 Docker 文件是:
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
应用程序再次 运行s,但在我的 Docker 文件中我已经编写了此命令。如何在没有此命令的情况下 运行 图像并让应用程序自动 运行?
镜像和容器是有区别的。
- 映像将构建一次
- 您可以从镜像启动容器
你的情况:
更改图片:
FROM anapsix/alpine-java
MAINTAINER myNAME
COPY testprj-1.0-SNAPSHOT.jar /home/testprj-1.0-SNAPSHOT.jar
CMD ["java","-jar","/home/testprj-1.0-SNAPSHOT.jar"]
建立你的形象:
docker build -t imageName .
现在在容器中调用您的程序:
docker run --name myProgram imageName
现在通过重新启动容器来重新启动您的程序:
docker restart myProgram
你的程序改了吗?重建图像!:
docker rmi imageName
docker build -t imageName .
这可能与您的要求不完全相同,但是如果您只是需要运行一个 JAR(而不是它只是一个更大的自定义容器的一部分) ) 我喜欢这种将 volume/folder 映射到 JAR 并使用标准上游图像 运行 连接它的方法:
docker run --rm -it -v /home/me/folderHoldingJar:/home:Z java:latest /bin/bash -c '/usr/bin/java -jar /home/theJarFile.jar'
如果 JAR 需要显示 GUI,您甚至可以添加 some additional args。