继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Docker deamon监听tcp端口设置

青春有我
关注TA
已关注
手记 1072
粉丝 205
获赞 1007

我们都知道docker分为daemon和client端,我们通常使用docker ps,docker images都只是使用docker client与docker daemon进行通信,docker client发送请求给docker daemon,docker daemon返回结果给client。 默认情况下docker daemon支持unix通信(/var/run/docker.sock),这个可以通过以下命令check。

$ netstat -nlp | grep docker

unix  2      [ ACC ]    STREAM    LISTENING    31160030 54974/docker        /var/run/docker.sock

如果需要在远程client与docker daemon进行通信,则需要docker daemon支持tcp通信。

在SUSE系统上,我们需要修改/etc/sysconfig/docker, 在DOCKER_OPTS的最后加上 ‘-H tcp://0.0.0.0:2375’,然后重新启动DOCKER

systemctl daemon-reload

systemctl restart docker

然后在client节点上添加以下环境变量,

DOCKER_HOST=tcp://<daemon ip>:2375

之后就可以在client端使用docker ps,docker images 等与docker daemon进行通信了。

在Ubuntu系统上则需要修改 /etc/default/docker 或者修改 /lib/systemd/system/docker.service(修改方法相信大家都能看明白)

DOCKER_OPTS="-H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375"

修改完成后,大家可以重新启动。check一下。

$netstat -nlp | grep docker

tcp6      0      0 :::2375                :::*                    LISTEN      59844/docker

unix  2      [ ACC ]    STREAM    LISTENING    31218536 59844/docker        /var/run/docker.sock


$ curl http://localhost:2375/version

{"ApiVersion":"1.18","Arch":"amd64","GitCommit":"7c8fca2","GoVersion":"go1.2.1","KernelVersion":"3.13.0-24-generic","Os":"linux","Version":"1.6.2"}

其他的linux系统可能设置稍有差异,不过原理是一样的,大家可以自行研究。



作者:邵增卫
链接:https://www.jianshu.com/p/e278b0e44e1b


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP