还是假定看本文的你有一定 docker 使用基础,基础和一些细节就不解释了
有时候会碰到这么一种场景,就是目标服务器无法上外网,涉密。这样的话还能使用 docker 技术完成服务器生产环境的快速迁移吗?因为正常使用都是从 dockerhub 上进行镜像拉取使用,没有做过相关实验。所以带着疑问最近正好在家闲着没事就尝试了一下,发现这个方案是可行的。
本地搭建 docker-registry 是一种方案,但还是存在局限性,比如有些场景只能通过企业代理环境进行远程部署。
已十月魔术手的后台服务器镜像为例,跟着下面步骤走,目标是从我的云服务器迁移到我的本地环境虚拟机上:
- 查看云服务器有哪些镜像,我们的目标是第一个,也就是魔术手后台服务最新的版本,如下图,没想到还挺大
- 将镜像进行打包保存,命令见下图,我觉得聪明的你应该都能猜到含义,这里就不解释了。我尝试了两种命令,第一种是网上找的普遍的命令,第二种是书上找的,大小差距还是蛮大的,有一倍的差距。(我一度以为命令没跑完,重复了一遍发现就是这样)
- 把镜像先搞出来,顺便看看为什么上面两个差距这么大,看看到底为啥有一倍的大小差距。结果发现里面内容和大小都是一样的,所以猜测第二个命令额外压缩了一遍,如下图。那既然这样我觉得以后都用第二个命令就好了,毕竟还要牵扯到拷贝传输,有些企业服务器远程过去的网速应该是非常令人感动的
- 把镜像压缩文件用你想到的方式丢到本地环境虚拟机(目标服务器)中,如下图命令进行加载,可以看到加载成功了
搞定!既然镜像已经过去了,后续怎么操作不就看你心情了~
本文记录了镜像的迁移,当然后续还有一些点没有克服,比如:
- windows 离线环境下如何安装 docker
- linux 离线环境下如何安装 docker
- 自己写的代码,如何制作自己的镜像(或仓库如何打包成镜像)
- 同在一个网络环境下如何借用 linux 管道完成快速迁移
- 镜像有了,如何使用 docker-compose 快速搭建本地环境
太多了懒得写了,先欠着吧,哈哈哈