我使用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 .