docker-machine 버전 0.2.0 docker 버전 1.6.2
내가 사용하고 VirtualBox를 사용하여 컴퓨터를 만들 고정 표시기 기계를 . 모든 것이 잘 작동하지만 기계 자체에 ssh하고 싶습니다.이 작업을 수행하는 방법에 대한 지침을 찾지 못했습니다. ssh 포트에 연결할 수 있습니다.
ssh $(docker-machine ip dev)
하지만 어떤 사용자 이름 / 비밀번호 / ID 파일을 사용할지 모르겠습니다.
docker-machine 버전 0.2.0 docker 버전 1.6.2
내가 사용하고 VirtualBox를 사용하여 컴퓨터를 만들 고정 표시기 기계를 . 모든 것이 잘 작동하지만 기계 자체에 ssh하고 싶습니다.이 작업을 수행하는 방법에 대한 지침을 찾지 못했습니다. ssh 포트에 연결할 수 있습니다.
ssh $(docker-machine ip dev)
하지만 어떤 사용자 이름 / 비밀번호 / ID 파일을 사용할지 모르겠습니다.
docker exec -it my_container /bin/bash
해당 문서의 참조 docs.docker.com/reference/commandline/cli/#exec
답변:
다음을 실행하여 docker-machine 호스트에 로그인 할 수 있습니다.
docker-machine ssh default
(여기에서 "기본"호스트 사용)
ID 파일은 ~/.docker/machine/machines
. 호스트가 아닌 컨테이너에 로그인하려면 docker exec
user2915097이 제안한대로 사용 하십시오.
을 통해 정말로해야한다면 ssh
이것은 docker 1.8.2에서 작동합니다.
도커 초기화 :
eval "$(docker-machine env default)"
기본 도커 머신에서 IP를 가져옵니다.
docker-machine ip default
이것은 다음과 같이 출력합니다. 192.168.99.100
ssh docker@192.168.99.100
암호는 tcuser
있지만 ID 파일을 사용할 수도 있습니다. 다른 답변을 참조하십시오.
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와 VM간에 같은 작업을 수행 할 수 있습니다 .
#!/bin/bash
docker_machine_name=$(docker-machine active)
docker_ssh_user=$(docker-machine inspect $docker_machine_name --format={{.Driver.SSHUser}})
docker_ssh_key=$(docker-machine inspect $docker_machine_name --format={{.Driver.SSHKeyPath}})
docker_ssh_port=$(docker-machine inspect $docker_machine_name --format={{.Driver.SSHPort}})
ssh -i $docker_ssh_key -p $docker_ssh_port $docker_ssh_user@localhost
그것을 복사하여 터미널에 붙여 넣을 수 있습니다. 또는 스크립트를 함수로 만들고 이름을 인수로 제공합니다.
Mac OX의 경우 컴퓨터와 키가 여기에 있습니다 (아래와 같은 키가 있는지 확인하십시오.
~/project/dev/docker_notes za$ ls /Users/za/.docker/machine/machines/default/
.DS_Store ca.pem config.json disk.vmdk id_rsa.pub server-key.pem
boot2docker.iso cert.pem default/ id_rsa key.pem server.pem
1) 사용 가능한 VM을 나열합니다.
> ~/project/dev/docker_notes za$ docker-machine ls
> NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
> default - virtualbox Running tcp://192.168.99.100:2376 v1.11.0
제 경우에는 컴퓨터 이름이 기본값입니다. 그래서 그냥
~/project/dev/docker_notes za$ docker-machine ssh default
## .
## ## ## ==
## ## ## ## ## ===
/"""""""""""""""""\___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ / ===- ~~~
\______ o __/
\ \ __/
\____\_______/
_ _ ____ _ _
| |__ ___ ___ | |_|___ \ __| | ___ ___| | _____ _ __
| '_ \ / _ \ / _ \| __| __) / _` |/ _ \ / __| |/ / _ \ '__|
| |_) | (_) | (_) | |_ / __/ (_| | (_) | (__| < __/ |
|_.__/ \___/ \___/ \__|_____\__,_|\___/ \___|_|\_\___|_|
Boot2Docker version 1.11.0, build HEAD : 32ee7e9 - Wed Apr 13 20:06:49 UTC 2016
Docker version 1.11.0, build 4dc5990
docker@default:~$ vi
.ash_history .ashrc .docker/ .local/ .profile .ssh/ log.log
docker@default:~$ ls
log.log
보시다시피 docker-machine / instance로 ssh 할 수 있습니다.
docker@default:~$ uname -a
Linux default 4.1.19-boot2docker #1 SMP Thu Apr 7 02:41:05 UTC 2016 x86_64 GNU/Linux
당신은 또한 이것을 따를 수 있습니다> 하우투-도커
다음 명령을 통해 도커에 ssh 할 수도 있습니다.
docker exec -it / bin / sh