docker-machine w wersji 0.2.0 docker w wersji 1.6.2
Używam docker-machine do tworzenia maszyny przy użyciu VirtualBox . Wszystko działa dobrze, ale chciałbym ssh do samej maszyny i nie znajduję instrukcji, jak to zrobić. Mogę podłączyć się do portu ssh:
ssh $(docker-machine ip dev)
Ale nie mam pojęcia, jakiej nazwy użytkownika / hasła / pliku tożsamości użyć.
docker
docker-machine
Roy Truelove
źródło
źródło
docker exec -it my_container /bin/bash
przez docker toOdpowiedzi:
Możesz zalogować się do hostów docker-machine, po prostu uruchamiając
(Używam tutaj „domyślnego” hosta)
Pliki tożsamości powinny być przechowywane pod
~/.docker/machine/machines
. Jeśli chcesz zalogować się do kontenera (w przeciwieństwie do hosta), użyjdocker exec
zgodnie z sugestią użytkownika2915097.źródło
jeśli naprawdę musisz to zrobić przez
ssh
, to działa z dockerem 1.8.2init docker:
pobierz adres IP z domyślnej maszyny dokującej:
wypisuje coś takiego:
192.168.99.100
hasło jest,
tcuser
ale możesz również użyć pliku tożsamości, zobacz inną odpowiedźźródło
tcuser
. Czy mógłbyś ujawnić swój sekret? :-)Wreszcie znalazłem odpowiedź:
Pracuję w systemie Windows z zestawem Docker Toolbox (Docker Machine).
Jeśli uważam
docker-machine -D ssh default
, że parametry SSH powinny być:Host: localhost
Port: 51701
Użytkownik : docker
Klucz: .docker \ machine \ machines \ default \ id_rsa
Kiedy zmieniam ustawienia Putty / MobaXterm, aby pasowały, voila, mogę wysłać SSH do kontenera.
źródło
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 [email protected] -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
Dla hakerów mamy skrypt, który włączy ssh do „aktywnej” maszyny dokującej. Daje to również wartości dla ssh_key, ssh_port i ssh_user, umożliwiając wykonywanie takich czynności, jak
rsync
między hostem lokalnym a maszyną wirtualną.Możesz skopiować i wkleić to do swojego terminala, linia po linii i zadziała. Lub przekształć skrypt w funkcję i podaj mu nazwę jako argument.
źródło
Jeśli z jakiegoś powodu wolisz użyć
ssh
polecenia, a niedocker-machine ssh
, możesz to zrobićźródło
W przypadku Mac OX maszyna i jej klucze znajdują się tutaj (upewnij się, że masz tam klucze, coś takiego jak poniżej:
1) lista dostępnych maszyn wirtualnych.
W moim przypadku nazwa maszyny jest domyślna. Więc tylko
Jak widać, jestem w stanie włączyć ssh do docker-machine / instance.
Możesz również wykonać to> howto - docker
źródło
Możemy również ssh do dockera za pomocą następującego polecenia -
docker exec -it / bin / sh
źródło