目录

将一个服务器上的文件复制到另一个服务器中的容器里

将一个服务器上的文件复制到另一个服务器中的容器里

步骤:

  1. 将A服务器上的文件复制到B服务器上
  2. 将B服务器上的文件复制到指定容器中

一、将A服务器上的文件复制到B服务器上

(将本地文件复制到服务器上同理)

在A服务器上执行下面命令(在本地执行下面命令)

使用scp命令

1. 复制文件

命令格式: scp local_file remote_username@remote_ip:remote_folder

2. 复制目录

命令格式: scp -r local_folder remote_username@remote_ip:remote_folder

注意

1 由于这里不能添加端口号,所以只能将其复制到默认的22端口。

2 出现报错:Permission denied, please try again

进入B服务器,输入命令: sudo chmod 777 remote_folder

(权限不够,修改权限即可。)

二、将B服务器上的文件复制到指定容器中

使用docker cp命令

1. 将主机中的文件拷贝到容器中

命令格式: docker cp 主机文件目录 容器名:容器文件目录

实例:

将主机文件/home/zm/FlyingThings3D_subset_processed_35m.zip拷贝到容器zm中的/zm/HPLFlowNet-master/SAVE_PATH/FlyingThings3D_sub

set_processed_35m.zip下

docker cp /home/zm/FlyingThings3D_subset_processed_35m.zip zm:/zm/HPLFlowNet-master/SAVE_PATH/FlyingThings3D_sub
set_processed_35m.zip

2. 将容器中的文件拷贝到主机中

命令格式: docker cp 容器名:容器文件目录 主机文件目录

注:执行命令后没有任何进度提醒,这个时候命令是正在执行的状态,不是死机什么的,安心等待就好。

三、rsync

当文件夹中存在软链接时,scp会将软链接中的内容也复制过来,但是这并不是我们想要的,这时就可以使用rsync保留原来的软链接

rsync -rl local_folder remote_username@remote_ip:remote_folder

其中 -l 的意思就是保留软链接