By zaiai2011, 13 July, 2023
Forums

做这个事情的源头,是因为发现从群晖导出的docker镜像,在移动到新的网站后,还是存在各种各样的问题(不是完全的一样);所以感觉到问题。

目前不知道问题在哪里,所以想解决;结果就碰到问题,容器间传递文件太麻烦,所以想到建立ftp服务器。

方法一

从容器A,SCP复制到另一个docker主机;再从容器B,SCP复制到B容器内;

这个方法需要两边容器安装SCP,安装vim,甚至emacs

方法二

容器A,上传至ftp服务器,直接从容器B,下载

好处是

  • 不用SCP到处看路径
  • 不用在主机上,再留下一个备份,浪费空间

FTP服务器构建

docker pull fauria/vsftpd

👉主要麻烦是出现在容器之间传递文件,经常要来来回回几轮,感觉太麻烦

docker run -d -p 21:21 -p 20:20 -p 21100-21110:21100-21110 \

-v /volume1/Nuts-group/FTP:/home/vsftpd/ftp \

-e FTP_USER=ftp \

-e FTP_PASS=123456 \

-e PASV_MIN_PORT=21100 \

-e PASV_MAX_PORT=21110 \

--name vsftpd \

--restart=always 9bfb39139661

在群晖构建,出现了问题,似乎是因为路由器导致的

😰scp在容器使用时,不能中文输入

😰群晖可以出去到校网,校网的服务节点,无法直接ssh、scp到群晖,主要原因,应该是加了一个路由器

🚩按照目前理解,应该是群晖容器复制文件到挂栽文件夹;在群晖

  • lftp登录传递服务器、容器间文件
  1. 安装lftp,sudo yum install lftp,
  2. 直接运行lftp,会出现连不上,因为是模式设置原因(被动模式的问题)
  3. 在用户目录下,建立.lftp文件夹(/home/userid_xxx/.lftp/rc),设立rc配置文件
  4. 在rc文件添加"set ftp:passive-mode no"
  5. 即可正常登录传递文件

 

zaiai2011

1 year 9 months ago

docker run -d -p 21:21 -p 20:20 -p 21100-21110:21100-21110 \ -v /volume1/Nuts-group/FTP:/home/vsftpd/ftp \ -e FTP_USER=zhanglab \ -e FTP_PASS=Zhanglab2014_ \ -e PASV_MIN_PORT=21100 \ -e PASV_MAX_PORT=21110 \ --name vsftpd \ --restart=always 9bfb39139661