docker实现不同内网下两服务器文件互传 (小白包会向、docker远程传输)

用docker使文件远程在两台服务器上传输

背景:

两台服务器处于不同内网,人员分处两地。需要从A服务器上传输重要大文件给B。B服务器存在多个依赖缺失无法通过zerotier进行内网穿刺
(否则可以直接在B上与A通过zerotier建立局域网传输)。

解决方法:

鄙人小白,只想到用docker来实现完成传递。现有的各种博客没找到比较清晰健全的实现,故整理鄙人经验如下:

1.去docker官网创建一个用户

记住用户名or邮箱,密码
举例为:
用户名:123

2.在A服务器上登录docker账户

docker login

3.在A服务器上创建一个容器

随便拉个基础的ubuntu或者centos

 docker run -t -i ubuntu:18.04 /bin/bash

退出容器到服务器A

快捷键Ctrl+D

查看并记录该容器ID(记住前四位即可,在本例中假设为6f19)

 docker ps -a

4.将需传输文件C从A传到该容器中

docker cp 文件C在服务器A的地址 容器ID:/在容器中存放的位置
(假设我们存在容器的/tmp中)

 docker cp  /A_path/C 6f19:/tmp/

5.进入容器查看传输结果

重容器并进入,可以用du -sh查看文件大小是否正确,以及ll,ls等命令确认

docker start 6f19
docker attach 6f19
du -sh

6.将容器打包成镜像

docker commit <容器名称/容器ID> <镜像名>
(假设我们将镜像名命名为C_send)

docker commit 6f19 C_send

查看并记录镜像ID (依旧只需要记前4位就行,假设为2383)

docker images 

7.上传到公开仓库

1) 给要上传的image打个标签 (相当于一个软连接)
docker tag <镜像ID> docker的用户名/镜像名称:版本

docker tag 2383 123/C_send:1.0

2)上传
docker push 用户名/镜像名字:打标签时,自定义的版本号

docker push 2383 123/C_send:1.0

8.在B服务器拉取

  1. 在B服务器上登录docker账户123
  2. 拉取
docker pull 123/send_spec:1.0

完结,撒花~~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值