如标题所示,为docker-machine运行命令的区别是
eval $(docker-machine env mycontainer)
docker run httpd
和
docker $(docker-machine config mycontainer) run httpd
因为两者都在“ mycontainer” ip下创建了一个httpd图像,但是第二个容器中没有显示“ docker ps”的容器
在第一种形式,你首先评价了一系列ENV的瓦尔(DOCKER_HOST
,DOCKER_CERT_PATH
,DOCKER_TLS_VERIFY
,DOCKER_MACHINE_NAME
),这些配置当前的shell,使任何docker
命令你以后推出会跟同一个码头工人守护进程。
在第二种形式中,要传递的PARAMS( ,--tlsverify
,--tlscacert
,--tlscert
,--tlskey
)-H
直接连接到docker
命令。这些最终将覆盖您的环境中已经存在的值或默认值(即连接到本地守护程序)。
在这种最新情况下,如果要查看刚启动的容器以确保与正确的服务器通信,则必须再次使用相同的命令行参数 docker $(docker-machine config mycontainer) ps
总结一下:
config
更适合单个现场命令env
在同一服务器上进行完整会话更方便。本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句