Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
两个docker容器之间的rsync_Docker_Rsync - Fatal编程技术网

两个docker容器之间的rsync

两个docker容器之间的rsync,docker,rsync,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安装并运行的 目录: 所有三个txt都可以在浏览器中访问 当我尝试将3.txt拉入Container

我正在使用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安装并运行的

目录:

所有三个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地址,因为我正在模拟一个真实的网络,可能是现实世界中一台设备上的一个docker。

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

#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

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

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

#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

问题解决了,谢谢你的病人回答我。

这听起来不像是典型的Docker设置。通常Docker容器只运行Apache(而不是sshd),如果需要在主机和容器之间共享文件,可以使用
Docker run-v
选项。容器的本地文件系统不应该有任何需要备份的内容,如果需要
docker rm
it,您也不介意丢失这些内容。这听起来不像典型的docker设置。通常Docker容器只运行Apache(而不是sshd),如果需要在主机和容器之间共享文件,可以使用
Docker run-v
选项。容器的本地文件系统不应该有任何需要备份的内容,而且当您需要
docker rm
it时,您也不介意丢失这些内容。