docker - 在 docker 镜像中运行 jar 文件

标签 docker dockerfile

我用 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 中我已经编写了此命令。如何在没有此命令的情况下运行镜像并让应用程序自动运行?

最佳答案

图像和容器是有区别的。

  • 图像将被构建一次
  • 您可以从图像启动容器

在你的情况下:

改变你的形象:

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 .

关于docker - 在 docker 镜像中运行 jar 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35061746/

相关文章:

Angular CLI 和 Docker : ng serve change detection very slow

javascript - 使 Dockerfile VOLUME 表现得像 docker-compose volumes

docker - Docker Compose:如何配置分为多个Dockerfile的多阶段Docker镜像?

docker - FROM命令的用途-Docker文件

docker - 是否可以为具有相同配置的多个容器制作通用的 dockerfile?

docker - mkdir : cannot create directory '/ffa_app' : Permission denied

backup - 如何在 docker 中拍摄容器快照

docker - 使用 Docker Compose 的服务器和客户端开发工作流程?

php - Docker 容器上的 Couchbase PHP SDK 2.6

asp.net - 如何在 docker 容器上基于 nanoserver-1709 的镜像上安装证书?