

Docker 导出与导入本地镜像
随着🧱对hub.docker.com
封禁,自由使用docker
镜像也越来越难了。最近一个项目使用了java 21
由于服务环境是java 8
于是就打算使用docker
部署下服务。由于服务器没有自由过🧱的能力,只能是在本地制作docker
镜像将其导出,然后在服务器上导入,在这期间也遇到了一些问题。
制作Dockerfile
构建本地镜像肯定需要制作一个Dockerfile
文件,关于该文件的使用介绍看可以可看该文章。以我项目的Dockerfile
为例:
构建运行镜像
进入Dockerfile
文件目录:
通过上面的构建命令后再运行:
导出导入镜像
只有将镜像运行之后才可以导出镜像:
这需要注意
docker export
导出是只是将镜像的文件系统这些打包导出,环境变量、卷、命令这些都会丢失。
将镜像导出之后需要在将文件上传到服务器,然后再服务执行导入:
导入镜像之后,再次执行下镜像
再执行后得到一个错误:
这就是上面刚刚上面说得在导出镜像是会丢失CMD
、ENTRYPOINT
等等信息导致镜像没有了命令入口点,需要重新导入指定入口点这些信息。
再导入后可以通过镜像信息命令查看Config
段镜像的ENV
、CMD
、Entrypoint
等配置信息: