docker-machineバージョン0.2.0dockerバージョン1.6.2
私が使っていたVirtualBoxを使用してマシンを作成するために、ドッキングウィンドウマシンを。すべて正常に動作しますが、マシン自体にSSHで接続したいのですが、これを行う方法についての指示が見つかりません。sshポートに接続できます:
ssh $(docker-machine ip dev)
しかし、使用するユーザー名/パスワード/ IDファイルがわかりません。
docker-machineバージョン0.2.0dockerバージョン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マシンホストにログインできます
docker-machine ssh default
(ここでは「デフォルト」ホストを使用)
IDファイルは~/.docker/machine/machines
。の下に保存する必要があります。(ホストではなく)コンテナーにログインする場合docker exec
は、user2915097の提案に従って使用してください。
を介して本当にそれを行う必要がある場合ssh
、これはdocker1.8.2で動作します
init docker:
eval "$(docker-machine env default)"
デフォルトのDockerマシンからIPを取得します。
docker-machine ip default
これは次のようなものを出力します: 192.168.99.100
ssh docker@192.168.99.100
パスワードはtcuser
ですが、IDファイルを使用することもできます。他の回答を参照してください
tcuser
。であることをどうやって知ることができたのか非常に興味があります。秘密を明かしていただけませんか?:-)
最後に、私は答えを見つけました:
私はDockerToolbox(Docker Machine)を搭載したWindowsを使用しています。
私の場合docker-machine -D ssh default
、SSHパラメータは次のようになります。
ホスト:localhost
ポート:51701
ユーザー:docker
キー:.docker \ machine \ machine \ 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
変数を
そこにいるハッカーのために、これが「アクティブな」docker-machineにSSH接続するスクリプトです。これにより、ssh_key、ssh_port、およびssh_userの値も提供さrsync
れ、ローカルホストと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
それをコピーして端末に1行ずつ貼り付けると、機能します。または、スクリプトを関数にして、引数として名前を入力します。
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)利用可能なvmsを一覧表示します。
> ~/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
これに従うこともできます> howto --docker
次のコマンドを使用して、DockerにSSH接続することもできます-
docker exec -it / bin / sh