Docker Machine 创建machine很简单,非常适合多主机环境。最长用的命令是无须登录到machine就能执行docker相关操作。
执行远程docker命令需要通过-H指定目标主机的链接字符串,比如:
docker -H tcp://192.168.56.105:2376 ps
docker-machine env host1 显示访问 host1 需要的所有环境变量:
根据提示,执行 eval $(docker-machine env host1):
命令行提示符已经变了,是因为在KaTeX parse error: Undefined control sequence: \u@ at position 25: …hrc 中配置了 PS1='[\̲u̲@̲\h \W(__docker_machine_ps1)]$ ',用于显示当前 docker host
在此状态下执行的所有 docker 命令其效果都相当于在 host1 上执行,例如:
docker ps -a
执行 eval $(docker-machine env host2) 切换到 host2:
docker-machine 子命令
(1)docker-machine upgrade 更新 machine 的 docker 到最新版本,可以批量执行:
docker-machine upgrade host1 host2
(2)docker-machine config 查看 machine 的 docker daemon 配置:
docker-machine config host1
(3)stop/start/restart 是对 machine 的操作系统操作,而 不是 stop/start/restart docker daemon:
注:generic driver 不支持 stop
(4)docker-machine scp 可以在不同 machine 之间拷贝文件,比如:
docker-machine scp host1:/root/test.log host2:/tmp/
综上,在多主机环境下,docker machine可以大大提高效率,而且操作也很简单,建议掌握。