Docker开启Remote API 访问 2375端口

Docker开启Remote API 访问 2375端口

Docker常见端口#

我看到的常见docker端口包括:

2375:未加密的docker socket,远程root无密码访问主机
2376:tls加密套接字,很可能这是您的CI服务器4243端口作为https 443端口的修改
2377:群集模式套接字,适用于群集管理器,不适用于docker客户端
5000:docker注册服务
4789和7946:覆盖网络

开启配置#

方法一#

首先是怎么配置远程访问的API:

 

Copy

sudo vim /etc/default/docker

加入下面一行

 

Copy

DOCKER_OPTS="-H tcp://0.0.0.0:2375"

重启docker即可:

 

Copy

sudo systemctl restart docker

PS:这是网上给的配置方法,也是这种简单配置让Docker Daemon把服务暴露在tcp的2375端口上,这样就可以在网络上操作Docker了。Docker本身没有身份认证的功能,只要网络上能访问到服务端口,就可以操作Docker。

方法二#

在/usr/lib/systemd/system/docker.service,配置远程访问。

主要是在[Service]这个部分,加上下面两个参数

 

Copy

# vim /usr/lib/systemd/system/docker.service [Service] ExecStart= ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock

重启

 

Copy

systemctl daemon-reload systemctl restart docker

方法三#

下面修改daemon.json的配置

 

Copy

vim /etc/docker/daemon.json { "hosts": ["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"] }

"unix:///var/run/docker.sock":unix socket,本地客户端将通过这个来连接 Docker Daemon。
"tcp://0.0.0.0:2375":tcp socket,表示允许任何远程客户端通过 2375 端口连接 Docker Daemon。

修改配置以后

然后让docker重新读取配置文件,并重启docker服务

 

Copy

systemctl daemon-reload systemctl restart docker

查看docker进程:

 

Copy

[root@slaver2 ~]# ps -ef|grep docker root 44221 1 1 18:16 ? 00:00:06 /usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock

Docker守护进程打开一个HTTP Socket,这样才能实现远程通信

简单使用#

-H为连接目标主机docker服务

查看docker版本

 

Copy

[root@slaver2 /]# docker -H tcp://18.16.202.95:2375 version Client: Docker Engine - Community Version: 19.03.0 API version: 1.40 Go version: go1.12.5 Git commit: aeac9490dc Built: Wed Jul 17 18:15:40 2019 OS/Arch: linux/amd64 Experimental: false Cannot connect to the Docker daemon at tcp://18.16.202.95:2375. Is the docker daemon running?

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值