Docker开启Remote API 访问 2375端口

Docker常见端口

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

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

开启配置

方法一

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

sudo vim /etc/default/docker

加入下面一行

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

重启docker即可:

sudo systemctl restart docker

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

方法二

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

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

# 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

重启

systemctl daemon-reload
systemctl restart docker

方法三

下面修改daemon.json的配置

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服务

systemctl daemon-reload
systemctl restart docker

查看docker进程:

[[email protected] ~]# 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版本

[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?

查看镜像包:

[[email protected] ~]# docker -H tcp://18.16.202.95:2375 images
REPOSITORY                                 TAG                 IMAGE ID            CREATED             SIZE
zookeeper                                  3.5.5               3487af26dee9        4 weeks ago         225MB
k8s.gcr.io/kube-apiserver                  v1.15.1             68c3eb07bfc3        8 weeks ago         207MB
k8s.gcr.io/kube-scheduler                  v1.15.1             b0b3c4c404da        8 weeks ago         81.1MB
k8s.gcr.io/kube-proxy                      v1.15.1             89a062da739d        8 weeks ago         82.4MB
k8s.gcr.io/kube-controller-manager         v1.15.1             d75082f1d121        8 weeks ago         159MB
quay.io/coreos/flannel                     v0.11.0-amd64       ff281650a721        7 months ago        52.6MB
k8s.gcr.io/coredns                         1.3.1               eb516548c180        8 months ago        40.3MB
k8s.gcr.io/etcd                            3.3.10              2c4adeb21b4f        9 months ago        258MB
quay.io/jetstack/cert-manager-controller   v0.5.2              2e4d862afebb        9 months ago        47.3MB
confluentinc/cp-kafka                      5.0.1               5467234daea9        10 months ago       557MB
k8s.gcr.io/pause                           3.1                 da86e6ba6ca1        21 months ago       742kB
radial/busyboxplus                         curl                71fa7369f437        4 years ago         4.23MB

参考:

Docker Remote API的安全配置

Docker 2375 端口入侵服务器

远程连接docker daemon,Docker Remote API

远程访问 Docker Daemon

原文地址:https://www.cnblogs.com/sunsky303/p/11965582.html

时间: 2024-10-12 00:00:14

Docker开启Remote API 访问 2375端口的相关文章

docker 开启remote api

docker官方文档上有相关说明(Configure and run Docker on various distributions),ubuntu上是可行的 sudo vi /etc/default/docker DOCKER_OPTS="-H tcp://0.0.0.0:2375" 参考一 Ubuntu14.04使用参考一推荐的方法开启remote api没有成功 参考二 使用参考二的方法开启remote api成功了

Debian 下docker 开启远程api失败

系统版本: Debian 8.3 问题: Debian下增加dcoker的远程api,始终不能打开网络端口. 过程: 修改/etc/default/docker 增加一行 DOCKER_OPTS="-H 0.0.0.0:2376 -H unix:///var/run/docker.sock" 重启docker: service docker restart 查看端口是否打开: lsof -i:2376  没有任何返回. 查看日志: Mar 28 12:44:32 docker1 doc

Docker 之web api 访问 host sql server

运行 Docker C:\Users\Administrator>docker run -it  -p 5000:5000 --name myapidocker1 webapiv1 [email protected]:/# dir bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  test  tmp  usr  var C:\Users\Administrator>d

linux下docker启动nginx无法访问80端口

问题: Linux安装了docker,docker启动了一个nginx容器,通过 80 端口无法正常访问 故障排查: 1.检查 nginx 容器启动的命令或者yaml文件,查看是否有跟本机端口进行绑定 启动nginx容器的时候,需要将本地的80端口(其他端口同理)跟nginx容器80端口(也可以是其他端口绑定)进行绑定,这样的话访问本地80端口才能正常跳转到nginx容器对应的端口 2.容器启动之后,运行: docker ps -a 查看容器的启动状态以及对应端口的绑定情况 3.查看linux端

Docker 开启 remoter api

debian 环境: vi /lib/systemd/system/dcoker.service 修改: ExecStart=/usr/bin/dockerd -H fd://为 ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375 systemctl daemon-reloadsystemctl restart docker.service 原文地址:https://www.cnblogs.com/xIron/p/10637246.

Docker 1 12新功能探索(8) Remote Api 1 24

Docker的Remote Api并不是1.12才有的,Docker1.12的Remote Api升到了1.24.Remote api的使用在1.12中没有大的变化,稍微大一点的变化是到这个版本之后,二进制文件分裂成了主client的docker以及主server的dockerd了.在centos上通过systemd的配置变化不大,无非是将tcp://ip:port设定到启动的Option中而已,下面来看一下如何设定和简单使用. 事前确认 可以看到只有unix socket的方式 [[email

Spring Cloud项目部署(二)docker开启2375端口

开启2375端口,提供外部访问docker. 1.编辑docker文件:./usr/lib/systemd/system/docker.service vim /usr/lib/systemd/system/docker.service 2.修改ExecStart内容 ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock 3.重新加载docker配置 systemctl daemon-relo

Docker配置TLS认证,修复因暴露2375端口引发漏洞

1.环境准备 # 查看Docker服务器主机名hostnamectl 这里记住我的主机名s130就好 # 静态主机名修改vi /etc/hostname# 临时主机名修改(重启失效)hostname s130   2.创建TLS证书 创建create_crets.sh文件并执行,生成的证书在/certs/docker目录下, # create_crets.sh,将[证书生成脚本]内容复制进去touch create_crets.sh chmod 755 create_crets.sh # 证书生

Docker暴露2375端口,引起安全漏洞

作者:廖煜,电子科技大学计算机和金融学双硕士,负责Ghostcloud的产品运营.曾任EMC西南区架构师.国内顶级Docker技术专家,Docker开源项目贡献者.拥有丰富的虚拟化.云计算和企业级软件经验. 今天有小伙伴发现docker暴露出2375端口,引起了安全漏洞.我现在给大家介绍整个事情的来龙去脉,并告诉小伙伴们,怎么修复这个漏洞. 为了实现集群管理,Docker提供了远程管理接口.Docker Daemon作为守护进程,运行在后台,可以执行发送到管理接口上的Docker命令.正是因为错