У меня есть контейнер докеров, работающий на хосте EC2, а другой работает на другом узле ec2. Как сделать ssh от одного к другому, не предоставляя номера портов? Я хочу сделать что-то вроде ssh root @ ip-address-of-containerSSH в контейнер-докер из другого контейнера на другом хосте
ответ
Open VSWITCH был самым простым решением! - https://goldmann.pl/blog/2014/01/21/connecting-docker-containers-on-multiple-hosts/
Для того, чтобы вы могли ssh во второй контейнер на порте 22, вам нужно будет удалить демон ESX vm ssh с пути.
Один из способов изменить SSH-порта хост-машины путем добавления записи в/и т.д./SSH/sshd_config на что-то вроде 3022. Теперь вы можете использовать -p 22:22 при запуске Docker контейнер (ов) и иметь возможность ssh между ними. Тем не менее, ssh`ing экземпляр ec2 находится на 3022.
Если вы хотите, чтобы хост-vms также был включен ssh на порте 22, вам понадобится создать второй виртуальный интерфейс ethernet. Этот прост в использовании, если вы можете установить статические IP-адреса. что-то вроде
ifconfig eth0:0 192.168.1.11 up
. Однако в ec2 это не будет , поскольку у вас есть IP-адреса на основе DHCP.Третий способ - настроить файл .ssh/config для сопоставления с нестандартным портом. Это не позволяет вам передавать ssh через порт 22, но по крайней мере вам не нужно знать о нестандартном порту. Вот tutorial, и соответствующие части ниже.
# contents of $HOME/.ssh/config Host other_docker HostName ec2-host-name-of-other-docker.com Port 22000 User some_user # must be added to authorized keys on other docker host for some_user IdentityFile ~/.ssh/this-docker-private-key
Теперь вы можете просто сделать ssh other_docker
- 1. Поддомен на другом хосте
- 2. Подкаталог на другом хосте
- 3. Python script - найти папки, измененные на одном хосте, делает их копию на другом хосте через ssh
- 4. Connectionstring из контейнера докеров в SQL Server dblocal на хосте
- 5. регистрация контейнера докеров на хосте через тома
- 6. Запуск программы GUI на хосте через SSH
- 7. Доступ к контейнеру-докеру из другого другого контейнера
- 8. Заполнение контейнера итераторами из другого контейнера
- 9. Запуск и остановка контейнера докера из другого контейнера
- 10. Как получить сопоставленный порт на хосте из контейнера докеров?
- 11. Подключитесь к rabbitmq на локальном хосте из контейнера Docker
- 12. Канонический способ подключения к службе на хосте из докерного контейнера
- 13. Подключение к Mysql на локальном хосте из Докер контейнера
- 14. Как запустить сценарий оболочки на хосте из контейнера докеров?
- 15. Доступ к хосту ssh из контейнера-докера
- 16. SSH с одного компьютера, продолжить на другом?
- 17. Получение ресурса в другом пакете из контейнера
- 18. Ошибка SSH в MapReduce в хосте EC2
- 19. Как получить результаты от задач сельдерея из другого приложения на другом хосте
- 20. Start Padrino на другом хосте (виртуальный)
- 21. Просмотр магазина настроек на другом хосте
- 22. Не получает передачу на другом хосте
- 23. Получить MAC-адрес другого хоста в сети из контейнера Docker
- 24. Доступ к контейнеру mysql из другого контейнера
- 25. Как подключить контейнер Docker, запущенный в boot2docker, к сетевой службе, запущенной на другом хосте?
- 26. Как добавить пользователя контейнера в группу пользователей на хосте Docker?
- 27. Docker: объемы монтирования из другого сервиса докеров (не для контейнера)
- 28. Запустить сценарий оболочки внутри контейнера Docker из другого контейнера Docker?
- 29. Как получить доступ к виду контейнера из другого вида контейнера?
- 30. Как установить каталог внутри контейнера докеров на Linux-хосте
Для этого вашему второму контейнеру потребуется IP-адрес, который можно маршрутизировать из первого контейнера. Поскольку поведение Docker's вне коробки заключается в использовании частных IP-адресов, это нетривиально. Вот почему люди склонны сопоставлять порт с другим номером порта на внешнем узле. Альтернативой является использование «наложенной сети», например, переплетения. (Я работаю для переплетения) – Bryan
Кроме того, сервер ssh необходимо установить и запустить внутри контейнера. ssh не работает из коробки в контейнерах так, как это происходит в обычном дистрибутиве. – Dharmit
@ Брайан - Спасибо! Я попробую! – user1016313