Docker开启Docker API方式

 更新时间:2025年12月05日 10:46:05   作者:BUG编写师  
文章介绍了如何在Linux系统上开启Docker API,包括修改配置文件和修改docker服务配置两种方式,同时,还提供了解决配置冲突的异常解决方案,并验证API是否开启的方法

方式一:修改docker配置文件

1.使用vi或vim打开docker的配置文件/etc/docker/daemon.json

vim /etc/docker/daemon.json

2.打开写入如下内容后保存退出:

[
	"hosts": ["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"]
]

hosts:为指定监听的ip地址与端口。

使用 0.0.0.0 监听所有网络接口可能存在安全风险,因为这会使 Docker API 可以被公开访问。

建议在生产环境中仅允许受信任的 IP 地址访问 Docker API,并使用安全连接(如 TLS)进行通信。

3.重启docker服务

sudo systemctl restart docker

如果重启没报错,恭喜你!你已经成功开启了Docker API,移步至验证API是否正常请求。

如果报错了,请移步至下面提供的解决方案。

方式二:修改docker服务配置

1.使用vi或vim进入docker.server /lib/systemd/sytem/docker.service

vim /lib/systemd/sytem/docker.service

2.找到 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock这一行


3.在这一行后面添加 -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock

ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock

4.重启docker服务

systemctl daemon-reload
sudo systemctl restart docker

如果重启没报错,恭喜你!你已经成功开启了Docker API,移步至验证API是否正常请求。

如果报错了,请看解决方案

异常解决方案

我两种方式都试了,全部无效,设置完配置文件后就报错(报错信息如下):

具体原因是因为在方式一中的 /etc/docker/daemon.json文件写入的配置与方式二种的ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock这行命令有冲突。应该是都有hosts相关配置。

解决方案

1.修改/lib/systemd/sytem/docker.service文件,去掉 -H fd://

2.将fd://添加到daemon.json配置中

[
	"hosts": ["fd://","tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"]
]

3.重启docker

systemctl daemon-reload
sudo systemctl restart docker

重启成功!

验证API是否开启

1.在本机使用curl命令查看版本信息

curl http://localhost:2375/version

2.如果局域网其他机器获取使用postman接口请求工具内无法访问,需要关闭防火墙或将服务器的2375端口放行。

  • 对于 iptables:
sudo systemctl stop iptables
  • 对于 firewalld:
sudo systemctl stop firewalld

关闭防火墙后,请尝试再次使用 curl 连接到 Docker API,看看问题是否解决。如果问题仍然存在,请重新启动防火墙以保护您的系统。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • docker的pdflatex环境配置的方法步骤

    docker的pdflatex环境配置的方法步骤

    这篇文章主要介绍了docker的pdflatex环境配置的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • Docker部署SQL Server及最佳应用小结

    Docker部署SQL Server及最佳应用小结

    SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),本文总结了容器环境下的部署及实践应用,需要的朋友可以参考下
    2022-08-08
  • docker desktop安装redis的实现步骤

    docker desktop安装redis的实现步骤

    本文主要介绍了docker desktop安装redis的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-04-04
  • CentOS 7 sshd 链接被拒绝问题解决办法

    CentOS 7 sshd 链接被拒绝问题解决办法

    这篇文章主要介绍了CentOS 7 sshd 链接被拒绝问题解决办法的相关资料,需要的朋友可以参考下
    2017-03-03
  • gitlab-ci配置服务器自动拉取方式

    gitlab-ci配置服务器自动拉取方式

    文章主要介绍了如何在GitLab中设置和使用Runner来实现自动化部署,包括手动设置Runner,配置.gitlab-ci.yml文件,编写和放置shell脚本,以及设置免密登录
    2025-12-12
  • Docker启动容器后自动关闭问题解决

    Docker启动容器后自动关闭问题解决

    在使用Docker创建并启动mysql容器时,发现mysql容器并没有启动而是自动关闭了,本文主要介绍了Docker启动容器后自动关闭问题解决,具有一定的参考价值,感兴趣的可以了解一下
    2024-07-07
  • Docker创建enrollment token错误异常解析及解决方案

    Docker创建enrollment token错误异常解析及解决方案

    部署完kibana,需要通过enrollment token方式来连接elasticsearch,此时需要在elasticsearch中创建enrollment token,这篇文章主要介绍了Docker创建enrollment token错误异常解析及解决方案,需要的朋友可以参考下
    2024-04-04
  • 详解Docker-compose networks 的例子

    详解Docker-compose networks 的例子

    这篇文章主要介绍了详解Docker-compose networks 的例子,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • Dockerfile中的ENV指令的具体使用详解

    Dockerfile中的ENV指令的具体使用详解

    这篇文章主要介绍了Dockerfile中的ENV指令的具体使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Docker学习之Container容器的具体使用

    Docker学习之Container容器的具体使用

    这篇文章主要介绍了Docker学习之Container容器的具体使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-06-06

最新评论