你如何确定docker集装箱是在远程docker机上运行,还是在docker引擎本地运行?
为了将互联网带宽的担忧推到云计算机上,我在docker远程机器上运行我的docker集装箱。 当你的networking非常慢时,这种设置非常方便。 我的问题是,我不知道如何轻松确定一个容器的主机。
这是我如何确定它:
运行这个, docker run -d -p 8000:80 nginx
并访问 – > localhost:8000
; 如果它返回一个nginx默认页面,那么我知道它在本地运行docker容器。
如果我用docker-machine ipreplacelocalhost
并获取nginx页面,那么我知道容器在远程系统上。
docker
CLI是客户端/服务器体系结构的一半客户端( dockerd
或以前版本中的dockerd
docker daemon
是另一半)。 当你使用docker-machine
,它正在更新环境variables,包括$DOCKER_HOST
,告诉$DOCKER_HOST
连接到另一个主机。 默认是连接到本地主机上的套接字。 $DOCKER_HOST
的值将覆盖该值,并且CLI标志$DOCKER_HOST
docker -H ...
覆盖这两者。
在意外主机上启动容器的最常见原因是当您忘记设置/取消设置$DOCKER_HOST
。