我的任务是使用Spring + mongo嵌入式模式创建简单的Java应用程序,然后将其保存并部署到Docker上。所以其他人会拍下这张快照,并在他的本地环境中运行。但我有点搞不懂到底要输出什么容器或图像等等.
我的步骤: 1.创建Dockerfile
FROM openjdk:8
ADD target/docker-spring-boot-0.0.1-SNAPSHOT.jar docker-spring-boot-0.0.1-SNAPSHOT.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","docker-spring-boot-0.0.1-SNAPSHOT.jar"]Create image
docker build -f Dockerfile -t docker-test .3.
vitalys-MBP:docker-spring-boot$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker-test latest 644e2f818027 15 minutes ago 762MB
openjdk 8 7c57090325cc 2 weeks ago 737MB
//save on the image
docker save docker-test > docker_test_image.tar
//export on the container
docker export docker_container > docker_container.tar我的问题是:
我看到每个.tar文件--它们几乎是760 to -我真的不能发送1.5GB,也许我不需要导出容器,或者我在这里遗漏了什么??(在其他与java一起运行的坞上导入应用程序的正确步骤是什么?)
非常感谢
发布于 2017-12-30 13:31:57
你所做的仅仅是正确的。由于基本映像openjdk:8已经是737 MB,所以您的应用程序仅为25 MB。您可以将您构建的图像推送到停靠中心,并要求相应的用户从那里提取。当您试图保存图像时,我假设您的用户可能无法从停靠中心拉出。
为了最小化坞映像的大小,您可以使用jre映像(例如,openjdk:8-jre-sim的大小仅为205 MB )。您可以通过构建自己的jre映像来进一步减少jre映像,其中一个教程可以找到这里。但是,没有多少改进,所以我建议您使用正式的jre图像。
https://stackoverflow.com/questions/48034311
复制相似问题