scp 到远程主机上的 Docker 容器

问题描述 投票:0回答:2

我在不同的区域(爱尔兰和伦敦)运行两个 AWS EC2 Ubuntu 实例。每个实例上都运行一个 Docker 容器。

存在已建立的 IPSec 连接:

root@ip-10-0-1-178:/mnt# ipsec status
Security Associations (1 up, 0 connecting):
Ireland-to-London[2]: ESTABLISHED 37 seconds ago, 
172.17.0.1[34.X.X.X]...35.X.X.X[35.X.X.X]

以下是每个 IP 的一些:

Ireland  
Public IP: 34.X.X.X
Private IP: 10.0.1.178
VPC CIDR Block: 10.0.0.0/16
London  
Public IP: 35.X.X.X
Private IP: 10.10.1.187
VPC CIDR Block: 10.10.0.0/16
Docker(same for both)
Public IP: 172.17.0.1
VPC CIDR Block: 172.17.0.0/16
Ports open: 500 and 4500

我不知道如何使用 scp 将文件从一个实例上的 Docker 容器传输到另一个实例上的 Docker 容器。

docker amazon-ec2
2个回答
0
投票

确保您的 docker 镜像已将端口 22 映射到 500/4500,以便您应该能够使用

scp -P YOUR_PORT file USERNAME@AWS_IP:/file  

您还可以使用 docker cp 将文件复制到主机,然后 scp 到另一台机器,然后使用 docker cp 复制到 docker 镜像作为解决方法。


0
投票

您需要做的事情列表。

  1. 在两个容器上启用 ssh 端口(例如 22)。
  2. EXPOSE
    / 将容器端口转发到两台机器上的主机端口(例如 2200:22)。
  3. 在防火墙中打开主机上的转发端口。
  4. 现在
    scp -P 2200 localfile.txt <london_user>@<london_public_ip>:<remote path>
  5. 我忽略了配置密码或基于密钥的通信的部分,已经有很多资源了。
© www.soinside.com 2019 - 2024. All rights reserved.