Docker镜像迁移方法

背景是:我的国内服务器想获取一个docker镜像,作者并没有上传镜像到hub上,必须是在代码里自己构建的。但是由于国内服务器网络的问题,怎么都拉不下作者的项目。开始想办法。

方案1 自行构建

  1. 虽然是国内服务器,能ping通 github,但是一拉取大的项目时候,总是报错。基本是网络原因导致

  2. 然后我通过 github镜像站,通过镜像站的镜像拉取命令,成功拉取下来了作者的项目代码

  3. 然后我进入项目的目录里,准备去通过docker build xxx 去构建镜像

  4. 但是在这一步,在构建镜像的时候,也是各种拉取nginx,maven出问题。看报错也还是网络问题导致。此路不通。

于是我准备换个思路,通过一台网络顺畅的HK服务器,先将镜像拉取下来,然后再给他迁移到我的国内服务器上

方案2 镜像迁移

  1. 在HK服务器上,做的操作是一样的。拉代码,build构建,一切都很顺利,当镜像构建完后。我们通过docker images就可以看到最新构建的镜像了。
  2. 开始迁移。我们将这个镜像打包。 执行命令docker save XXXX -o /hu/XXXX.tar 其中XXX是镜像的名字,若有多个版本,你也可以在名字后面加上tag。 -o则是指定目录。 打包后的名字为 XXXX.tar。
  3. 接着我们需要将这个tar文件给复制到国内的服务器上。 在这一步,你可以选择SCP,可以选择FTP, 或者最简单的,可以通过可视化的带FTP的SSH终端来将镜像文件下载下来,再上传到国内的服务器即可。 比如:mobaxterm。 当然最简单的就是SCP命令。scp XXXX.tar root@服务器ip:/hu/ root是你要连接的对应机器用户名,@后面跟服务器ip,最后面是指定的传输路径
  4. 将tar包传过去之后,我们需要执行命令来加载镜像。执行命令docker load -i XXXX.tar 当页面按照以下内容输出后,则证明镜像加载成功。
docker load -i XXXX.tar 
d47162d00c19: Loading layer  318.5MB/318.5MB
80dc1ea0fe01: Loading layer  859.1kB/859.1kB
5f70bf18a086: Loading layer  1.024kB/1.024kB
ded792b6cc33: Loading layer  3.958MB/3.958MB
2ab5754b0356: Loading layer  2.048kB/2.048kB
3a0cec27b01d: Loading layer  39.42kB/39.42kB
75c00f74b53e: Loading layer  40.45kB/40.45kB
8dc8381d4ee7: Loading layer  34.07MB/34.07MB
bbc4a41a1f58: Loading layer  1.319MB/1.319MB
891ad2b1554e: Loading layer  4.096kB/4.096kB
Loaded image: XXXX:latest

然后我们执行 docker images 就可以看到了这个镜像。接着就可以进行正常的启动容器等操作了。

至此!大功告成!

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇