scp to Docker Container, который находится на удаленном хосте - PullRequest
0 голосов
/ 19 сентября 2018

У меня два экземпляра 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-адресов для каждого:

<b>Ireland</b>  
Public IP: 34.X.X.X
Private IP: 10.0.1.178
VPC CIDR Block: 10.0.0.0/16
<b>London</b>  
Public IP: 35.X.X.X
Private IP: 10.10.1.187
VPC CIDR Block: 10.10.0.0/16
<b>Docker</b>(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 в другом.

Ответы [ 2 ]

0 голосов
/ 19 сентября 2018

Список вещей, которые вам нужно сделать.

  1. Включить SSH-порты (например, 22) в обоих контейнерах.
  2. EXPOSE / перенаправить порты контейнера на порты хост-машины(например, 2200: 22) на обеих машинах.
  3. Откройте переадресованные порты на хост-машинах в брандмауэре.
  4. Теперь scp -P 2200 localfile.txt <london_user>@<london_public_ip>:<remote path>.
  5. Я проигнорировал ту часть, где вы былинастроить пароль или обмен данными по ключу, на это уже есть много ресурсов.
0 голосов
/ 19 сентября 2018

Убедитесь, что ваш образ докера имеет порт 22, сопоставленный с 500/4500, чтобы вы могли использовать

scp -P YOUR_PORT file USERNAME@AWS_IP:/file  

Вы также можете использовать докер cp, чтобы скопировать файл на хост-компьютер, затем выполните команду scp длядругой компьютер, а затем используйте docker cp для копирования образа докера в качестве обходного пути.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...