docker-machine ssh
码头机ssh
使用SSH登录或在计算机上运行命令。
要登录,只需运行docker-machine ssh machinename
*
$ docker-machine ssh dev
## .
## ## ## ==
## ## ## ## ===
/""""""""""""""""\___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~
\______ o __/
\ \ __/
\____\______/
_ _ ____ _ _
| |__ ___ ___ | |_|___ \ __| | ___ ___| | _____ _ __
| '_ \ / _ \ / _ \| __| __) / _` |/ _ \ / __| |/ / _ \ '__|
| |_) | (_) | (_) | |_ / __/ (_| | (_) | (__| < __/ |
|_.__/ \___/ \___/ \__|_____\__,_|\___/ \___|_|\_\___|_|
Boot2Docker version 1.4.0, build master : 69cf398 - Fri Dec 12 01:39:42 UTC 2014
docker@boot2docker:~$ ls /
Users/ dev/ home/ lib/ mnt/ proc/ run/ sys/ usr/
bin/ etc/ init linuxrc opt/ root/ sbin/ tmp var/
还可以指定要远程运行的命令,方法是将它们直接附加到docker-machine ssh
命令,就像普通的ssh
程序工作:
$ docker-machine ssh dev free
total used free shared buffers
Mem: 1023556 183136 840420 0 30920
-/+ buffers: 152216 871340
Swap: 1212036 0 1212036
带有标志的命令也可以工作:
$ docker-machine ssh dev df -h
Filesystem Size Used Available Use% Mounted on
rootfs 899.6M 85.9M 813.7M 10% /
tmpfs 899.6M 85.9M 813.7M 10% /
tmpfs 499.8M 0 499.8M 0% /dev/shm
/dev/sda1 18.2G 58.2M 17.2G 0% /mnt/sda1
cgroup 499.8M 0 499.8M 0% /sys/fs/cgroup
/dev/sda1 18.2G 58.2M 17.2G 0%
/mnt/sda1/var/lib/docker/aufs
如果您正在使用下一节详述的“外部”SSH类型,则可以ssh
在生成的命令中包含其他参数以传递到二进制文件(除非它们与Docker Machine生成的命令的任何默认参数相冲突) 。例如,以下命令会将端口8080从default
机器转发到localhost
主机上:
$ docker-machine ssh default -L 8080:localhost:8080
不同类型的SSH
当调用DockerMachine时,它将检查是否有可尊敬的ssh
二进制文件将在本地使用,并尝试使用它运行的SSH命令,无论它们是创建之类的操作的一部分,还是用户直接请求的操作。如果它找不到外部ssh
在本地使用本机go实现时,它将默认使用密码/ssh
在您可能无法访问传统UNIX工具的情况下,这是非常有用的,例如如果您在Windows上使用Docker Machine而没有在Windows旁边安装msysgit。
在大多数情况下,您将不必担心这个实现细节,DockerMachine将明智地采取行动。但是,如果您有意使用Go本机版本,可以使用全局命令行标志/环境变量,如下所示:
$ docker-machine --native-ssh ssh dev
这两种方法之间的行为有一些差异,所以如果遇到问题或不一致的地方,请报告。