两个Docker容器之间的rsync

时间:2019-02-14 09:56:03

标签: docker rsync

我正在使用rsync在Ubuntu网络中设置备份/同步。

假定桌面(Ubuntu 18.04)-ip:10.0.0.13
使用两个容器运行docker:

 Client_A: 2001 -> 22/tcp , 8001 -> 80/tcp  
 Client_B: 2002 -> 22/tcp , 8002 -> 80/tcp

所有3个映像均已安装并正在运行ubuntu,apache2

dir:

DesktopOS        Container1         Container2
10.0.0.13:80     10.0.0.13:8001     10.0.0.13:8002  
⊢var             ⊢var               ⊢var             
  ⊢www             ⊢www               ⊢www           
    ⊢html            ⊢html              ⊢html          
      ⊢1.txt           ⊢2.txt             ⊢3.txt   

所有三个txt均可在浏览器中访问


当我尝试将3.txt拉到Container1时:

rsync -av -e 'ssh -p 2002' --rsh=ssh user@10.0.0.13/var/www/html/ ~/BACKUP/

1.txt已收到。


如何访问Container1中的3.txt?

请使用IP地址,因为我正在模拟一个真实的网络,可能是现实世界中1台设备上的1个docker。

1 个答案:

答案 0 :(得分:0)

最后我发现我只安装了ssh,没有安装ssh-server。 否则,防火墙将阻止访问。

#find out port 22, 2002, 2001 etc. 
#from netstat result, is it listening?
netstat | grep 2002

安装ssh服务器

sudo apt install tasksel
sudo tasksel install openssh-server

对于防火墙:

sudo ufw allow 2001,2002

它解决了,感谢您的尝试回答我的患者。