докер-машина версия 0.2.0 докер версия 1.6.2
Я использую докер-машину для создания машины с помощью VirtualBox . Все работает нормально, но я хотел бы использовать ssh в самой машине, и я не нашел инструкций, как это сделать. Я могу подключиться к ssh-порту:
ssh $(docker-machine ip dev)
Но я понятия не имею, какой файл имени пользователя / пароля / удостоверения использовать.
docker
docker-machine
Рой Трулав
источник
источник
docker exec -it my_container /bin/bash
см. doc docs.docker.com/reference/commandline/cli/#execОтветы:
Вы можете войти в хосты докер-машин, просто запустив
(Здесь используется хост "по умолчанию")
Файлы удостоверений должны храниться в папке
~/.docker/machine/machines
. Если вы хотите войти в контейнер (в отличие от хоста), используйте,docker exec
как предлагает user2915097.источник
если вам действительно нужно сделать это через
ssh
, это работает с докером 1.8.2докер инициализации:
получить IP-адрес со своей докер-машины по умолчанию:
это выводит что-то вроде этого:
192.168.99.100
пароль есть,
tcuser
но вы также можете использовать файл идентификации, см. другой ответисточник
tcuser
. Не могли бы вы раскрыть свой секрет, пожалуйста? :-)Наконец я нашел ответ:
Я работаю в Windows с Docker Toolbox (Docker Machine).
Если я
docker-machine -D ssh default
обнаружу, что параметры SSH должны быть:Хост: localhost
Порт: 51701
Пользователь: docker
Ключ: .docker \ machine \ machines \ default \ id_rsa
Когда я изменяю настройки Putty / MobaXterm, чтобы они соответствовали, вуаля, я могу подключиться к контейнеру по SSH.
источник
Using SSH client type: external {[-o BatchMode=yes -o PasswordAuthentication=no -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o ConnectionAttempts=3 -o ConnectTimeout=10 -o ControlMaster=no -o ControlPath=none docker@127.0.0.1 -o IdentitiesOnly=yes -i C:\Users\<user>\.docker\machine\machines\default\id_rsa -p 58361] C:\Program Files\Git\usr\bin\ssh.exe}
docker-machine inspect
? Он напечатал нелокальный адрес вDriver->IPAddress
переменнойДля хакеров вот сценарий, который подключит ssh к «активной» докер-машине. Это также дает вам значения для ssh_key, ssh_port и ssh_user, что позволяет делать такие вещи, как
rsync
между localhost и виртуальной машиной .Вы можете скопировать и вставить это в свой терминал, строка за строкой, и он будет работать. Или превратите сценарий в функцию и передайте ей имя в качестве аргумента.
источник
Если по какой-то причине вы предпочитаете использовать
ssh
командуdocker-machine ssh
, вы можете сделатьисточник
Для Mac OX компьютер и его ключи расположены здесь (убедитесь, что у вас есть ключи, как показано ниже:
1) список доступных vms.
В моем случае имя машины по умолчанию. Итак, просто
Как видите, я могу использовать ssh в docker-machine / instance.
Вы также можете следовать этому> howto - docker
источник
Мы также можем использовать ssh в докере с помощью следующей команды -
docker exec -it / bin / sh
источник