当前位置: 首页 > news >正文

Docker 远程访问完整配置教程以及核心参数理解

Docker 远程访问完整配置教程

以下是配置 Docker 支持远程访问的完整教程,包括参数说明、配置修改、云服务器安全组设置、主机防火墙配置,以及验证远程访问的详细步骤。


1. 理解 -H fd:// 参数的作用(理解了以后容易理解后面的操作)

-H 参数用于指定 Docker 守护进程的监听方式(监听“门口”)。可以配置 Docker 监听:

  • Unix 套接字:如 unix:///var/run/docker.sock(本地通信)。
  • TCP 地址:如 tcp://0.0.0.0:2375(远程访问)。
  • 文件描述符(fd://:让 Docker 通过 systemd 管理监听方式。
什么是 -H fd://
  • fd:// 表示 File Descriptor(文件描述符)。
  • Docker 不直接监听具体地址或端口,而是通过 systemd 提供的文件描述符监听。
  • systemd 通常默认让 Docker 使用本地 Unix 套接字 unix:///var/run/docker.sock
形象比喻
  • 没有 -H fd://
    Docker 自己决定监听哪些“门”,比如监听本地套接字或远程端口。你明确告诉它:

    “去盯住这扇门,比如 2375 端口!”

  • 使用 -H fd://
    Docker 把选择监听方式的任务交给 systemd。Docker 对 systemd 说:

    “systemd,你安排门,我负责听谁敲门!”


2. 修改 Docker 配置

2.1 修改 docker.service 文件
  1. 编辑 Docker 服务文件:

    bashsudo nano /usr/lib/systemd/system/docker.service
    
  2. 查找以下行:

    bashExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
    
  3. 修改为:

    bashExecStart=/usr/bin/dockerd --containerd=/run/containerd/containerd.sock
    

    这里移除了 -H fd:// 参数,让 Docker 不再依赖 systemd 的监听方式。

  4. 保存并退出。


2.2 配置 daemon.json 文件

通过 /etc/docker/daemon.json 配置 Docker 监听本地和远程连接。

  1. 编辑 daemon.json 文件:

    bashsudo nano /etc/docker/daemon.json
    
  2. 添加以下内容:(registry 是docker加速器,在国外可以不管这个)

    json{"registry-mirrors": ["https://docker.1ms.run","https://docker.unsee.tech"],"hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"]
    }
    
  3. 保存并退出。


2.3 重新加载并重启 Docker 服务
bashsudo systemctl daemon-reload
sudo systemctl restart docker

3. 配置云服务器安全组

对于云服务器(如阿里云、AWS、腾讯云),需要在安全组中开放 Docker 的远程访问端口(TCP 2375)。

  1. 登录云服务提供商管理控制台。
  2. 找到实例的 安全组 配置。
  3. 添加一条规则:
    • 协议:TCP
    • 端口范围:2375
    • 来源:根据需求设置(可选 0.0.0.0/0 或特定 IP 段)。
  4. 保存并应用规则。

4. 配置主机防火墙

如果服务器启用了防火墙(如 firewalld),需要显式开放 TCP 2375 端口。

4.1 检查防火墙状态
bashsudo systemctl status firewalld

如果防火墙未启用,可跳过本节。

4.2 开放 2375 端口
bashsudo firewall-cmd --zone=public --add-port=2375/tcp --permanent
4.3 重新加载防火墙
bashsudo firewall-cmd --reload
4.4 验证防火墙规则
bashsudo firewall-cmd --list-ports

确认 2375/tcp 端口已在列表中。


5. 验证远程访问

5.1 使用浏览器验证

在浏览器地址栏输入以下 URL:

http://<服务器IP>:2375/version

如果配置正确,会返回类似以下的 JSON 数据:
粘个图,嘿嘿
在这里插入图片描述

5.2 使用 Docker CLI 验证

在远程客户端执行以下命令:

bashdocker -H tcp://<服务器IP>:2375 info

如果配置正确,将返回 Docker 服务器的相关信息。


6. 安全性注意事项(没试过可选)

  1. 默认配置无加密或认证

    • Docker 的远程访问(TCP 2375)默认不启用加密或认证机制,存在安全隐患。
    • 开放 2375 后,任何访问到该端口的用户都能完全控制 Docker 守护进程。
  2. 推荐的安全措施

    • 使用 SSH 隧道:不直接开放 2375,而是通过 SSH 隧道访问 Docker:

      bashssh -L 2375:localhost:2375 user@<服务器IP>
      

      然后本地访问:

      bashdocker -H tcp://localhost:2375 info
      
    • 启用 TLS 加密: 为 Docker 配置 TLS,确保通信加密且客户端必须认证。具体配置可以参考 Docker 官方文档。

    • 限制来源 IP:通过安全组或防火墙仅允许可信 IP 访问 2375。


总结

通过本教程,完成 Docker 的远程访问配置,包括参数调整、安全组与防火墙配置,以及远程访问的验证。

相关文章:

Docker 远程访问完整配置教程以及核心参数理解

Docker 远程访问完整配置教程 以下是配置 Docker 支持远程访问的完整教程&#xff0c;包括参数说明、配置修改、云服务器安全组设置、主机防火墙配置&#xff0c;以及验证远程访问的详细步骤。 1. 理解 -H fd:// 参数的作用&#xff08;理解了以后容易理解后面的操作&#xff…...

王老吉药业SRM系统上线 携手隆道共启战略合作新篇章

12月27日&#xff0c;广州王老吉药业股份有限公司&#xff08;简称“王老吉药业”&#xff09;SRM项目上线启动会&#xff0c;在王老吉科普教育基地——“吉园”隆重举行。广药集团纪委主任陈耕、王老吉药业总工程师黄晓丹、隆道公司总裁吴树贵、项目经理赵耀、供应商代表郭伟及…...

MyBatis 配置文件全解析

一、MyBatis 配置文件为何至关重要&#xff1f; 在 Java 后端开发领域&#xff0c;MyBatis 作为一款广受欢迎的持久层框架&#xff0c;极大地简化了数据库操作。而 MyBatis 配置文件&#xff0c;恰似整个框架的 “神经中枢”&#xff0c;掌控着其运行的方方面面&#xff0c;对…...

unity学习6:unity的3D项目的基本界面和菜单

目录 1 unity界面的基本认识 1.1 file 文件 1.2 edit 编辑/操作 1.3 Assets 1.4 gameobject 游戏对象 1.5 组件 1.6 windows 2 这些部分之间的关系 2.1 关联1&#xff1a; Assets & Project 2.2 关联2&#xff1a;gameobject & component 2.3 关联3&#xf…...

企业二要素如何用C#实现

一、什么是企业二要素&#xff1f; 企业二要素&#xff0c;通过输入统一社会信用代码、企业名称或统一社会信用代码、法人名称&#xff0c;验证两者是否匹配一致。 二、企业二要素适用哪些场景&#xff1f; 例如&#xff1a;信用与金融领域 1.信用评级&#xff1a;信用评级…...

中科院空天院无人机视觉语言导航新基准!AeroVerse:模拟、预训练、微调和评估空中无人机具身世界模型的测试基准

作者&#xff1a; Fanglong Yao, Yuanchang Yue, Youzhi Liu, Xian Sun, Kun Fu 单位&#xff1a;中国科学院空天信息创新研究院网络信息系统技术重点实验室&#xff0c;中国科学院大学电子电气与通信工程学院 原文链接&#xff1a; AeroVerse: UAV-Agent Benchmark Suite fo…...

Python安装(新手详细版)

前言 第一次接触Python&#xff0c;可能是爬虫或者是信息AI开发的小朋友&#xff0c;都说Python 语言简单&#xff0c;那么多学一些总是有好处的&#xff0c;下面从一个完全不懂的Python 的小白来安装Python 等一系列工作的记录&#xff0c;并且遇到的问题也会写出&#xff0c…...

Oracle DG备库数据文件损坏修复方法(ORA-01578/ORA-01110)

今天负责报表的同事反馈在DG库查询时出现如下报错 ORA-01578:ORACLE数据块损坏(文件号6,块号 2494856)ORA-01110:数据文件6: /oradata/PMSDG/o1 mf users_molczgmn_.dbfORA-26040:数据块是使用 NOLOGGING 选项加载的 可以看到报错是数据文件损坏&#xff0c;提示了file id和b…...

安装Linux

在Linux系统上安装MySQL数据库&#xff0c;可以根据服务器是否有网络连接选择不同的安装方式。以下分别介绍在线安装&#xff08;通过yum&#xff09;和离线安装&#xff08;手动下载.tar包&#xff09;的详细步骤&#xff1a; 一、在线安装&#xff08;通过yum&#xff09; 检…...

【文献精读笔记】Explainability for Large Language Models: A Survey (大语言模型的可解释性综述)(四)

****非斜体正文为原文献内容&#xff08;也包含笔者的补充&#xff09;&#xff0c;灰色块中是对文章细节的进一步详细解释&#xff01; 四、提示范式&#xff08;Explanation for Prompting Paradigm&#xff09; 随着语言模型规模的扩大&#xff0c;基于提示&#xff08;prom…...

【OpenCV】使用Python和OpenCV实现火焰检测

1、 项目源码和结构&#xff08;转&#xff09; https://github.com/mushfiq1998/fire-detection-python-opencv 2、 运行环境 # 安装playsound&#xff1a;用于播放报警声音 pip install playsound # 安装opencv-python&#xff1a;cv2用于图像和视频处理&#xff0c;特别是…...

SpringCloud(二)--SpringCloud服务注册与发现

一. 引言 ​ 前文简单介绍了SpringCloud的基本简介与特征&#xff0c;接下来介绍每个组成部分的功能以及经常使用的中间件。本文仅为学习所用&#xff0c;联系侵删。 二. SpringCloud概述 2.1 定义 ​ Spring Cloud是一系列框架的有序集合&#xff0c;它巧妙地利用了Spring…...

国内Ubuntu环境Docker部署CosyVoice

国内Ubuntu环境Docker部署CosyVoice 本文旨在记录在 国内 CosyVoice项目在 Ubuntu 环境下如何使用 dockermin-conda进行一键部署。 源项目地址&#xff1a; https://github.com/FunAudioLLM/CosyVoice 如果想要使用 dockerpython 进行部署&#xff0c;可以参考我另一篇博客中的…...

嵌入式linux系统中QT信号与槽实现

第一:Qt中信号与槽简介 信号与槽是Qt编程的基础。因为有了信号与槽的编程机制,在Qt中处理界面各个组件的交互操作时变得更加直观和简单。 槽函数与一般的函数不同的是:槽函数可以与一个信号关联,当信号被发射时,关联的槽函数被自动执行。 案例操作与实现: #ifndef …...

科研绘图系列:R语言单细胞数据常见的可视化图形

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍加载R包数据下载导入数据数据预处理图1图2图3图4图5图6系统信息参考介绍 单细胞数据常见的可视化图形 因为本教程是单细胞数据,因此运行本画图脚本需要电脑的内存最少32Gb 加载…...

使用 C++ 和函数式编程构建高效的 AI 模型

引言 现代 AI 开发常常使用 Python&#xff0c;但在底层实现中&#xff0c;C 仍是不可或缺的语言&#xff0c;尤其是在性能敏感的场景下。将 C 与函数式编程结合&#xff0c;可以打造高效、模块化的 AI 模型&#xff0c;同时提高代码的可读性和可维护性。本文将深入探讨如何利用…...

guestfish/libguestfs镜像管理工具简介

文章目录 简介guestfishlibguestfs项目 例子原理代码libguestfs架构参考 简介 guestfish Guestfish 是libguestfs项目中的一个工具软件&#xff0c;提供修改虚机镜像内部配置的功能。它不需要把虚机镜像挂接到本地&#xff0c;而是为你提供一个shell接口&#xff0c;你可以查…...

如何在centos中进行有效的网络管理

如何在centos中进行有效的网络管理&#xff1f; 在CentOS中&#xff0c;网络管理是系统管理员日常工作的重要组成部分&#xff0c;本文将详细介绍CentOS中的两种主要网络管理工具&#xff1a;传统的network服务和新一代的NetworkManager&#xff0c;帮助读者更好地配置和管理C…...

Oracle清空表后如何恢复数据

有时候忘记备份数据&#xff0c;把数据清空了&#xff0c;或者删除了&#xff0c;这时候怎么恢复数据呢&#xff0c;使用下面sql即可&#xff0c;替换对应的table和column INSERT INTO table1(column1,column2,column3 ) SELECTcolumn1,column2,column3 FROMtable1 AS OF time…...

ElasticSearch基础-文章目录

ElasticSearch学习总结1&#xff08;环境安装&#xff09; ElasticSearch学习总结2&#xff08;基础查询&#xff09; ElasticSearch学习总结3&#xff08;.NetCore操作ES&#xff09; ElasticSearch学习总结4&#xff08;sql操作ES&#xff09; ElasticSearch学习总结5&am…...

零基础选AI认证的理性分析:如何通过“实战含量”和“案例质量”筛选证书

CAIE注册人工智能工程师&#xff08;简称CAIE认证&#xff0c;又称赛一认证&#xff09;&#xff0c;是聚焦人工智能领域的技能等级认证&#xff0c;由CAIE人工智能研究院颁发&#xff0c;旨在培养和评估具备理论基础与实战能力的复合型AI人才&#xff0c;核心使命是“连接AI时…...

PyTorch训练中如何避免GC.collect()拖慢GPU速度?实测优化方案分享

PyTorch训练中如何避免GC.collect()拖慢GPU速度&#xff1f;实测优化方案分享 在深度学习模型训练过程中&#xff0c;GPU显存占用高但利用率低是一个常见问题。许多开发者习惯性地在训练循环中调用GC.collect()来主动触发垃圾回收&#xff0c;试图缓解显存压力。然而&#xff0…...

Nsight Systems实战:用命令行nsys profile分析Docker容器内的CUDA应用性能(附远程分析技巧)

Nsight Systems实战&#xff1a;用命令行nsys profile分析Docker容器内的CUDA应用性能&#xff08;附远程分析技巧&#xff09; 在容器化技术席卷开发领域的今天&#xff0c;如何高效分析运行在Docker环境中的CUDA应用性能成为工程师们必须掌握的技能。传统依赖GUI的性能分析工…...

126. 如何为 Elemental OS Machine 创建网络绑定

Procedure 程序Configuring NIC Teaming for OS Elemental 为操作系统 Elemental 配置 NIC 分组 Overview 概述 This article provides the procedure for configuring NIC Teaming (bonding) in SUSE Elemental OS. It includes an example configuration that can be adjus…...

Spring Boot Actuator 监控扩展

Spring Boot Actuator 监控扩展&#xff1a;提升应用可观测性的利器 在现代微服务架构中&#xff0c;应用的监控与运维至关重要。Spring Boot Actuator 作为Spring Boot生态的核心组件&#xff0c;为开发者提供了丰富的生产级监控端点&#xff0c;帮助实时掌握应用的健康状态、…...

10分钟掌握视频PPT智能提取:让会议录像秒变可编辑文档

10分钟掌握视频PPT智能提取&#xff1a;让会议录像秒变可编辑文档 【免费下载链接】extract-video-ppt extract the ppt in the video 项目地址: https://gitcode.com/gh_mirrors/ex/extract-video-ppt 你是否曾为整理会议录像中的PPT内容而烦恼&#xff1f;&#x1f60…...

突破Windows音频限制:Equalizer APO系统级音效处理的3大创新

突破Windows音频限制&#xff1a;Equalizer APO系统级音效处理的3大创新 【免费下载链接】equalizerapo Equalizer APO mirror 项目地址: https://gitcode.com/gh_mirrors/eq/equalizerapo Equalizer APO作为一款开源系统级音频处理引擎&#xff0c;通过直接集成到Windo…...

时间序列分类|MedSpaformer:多粒度token稀疏化的可迁移Transformer模型

MedSpaformer: a Transferable Transformer with Multi-granularity Token Sparsification for Medical Time Series Classification 注意: 该论文在v1版本&#xff08;2025年3月19日&#xff09;中名为 “Sparseformer”&#xff0c;在后续版本&#xff08;v2/v3&#xff09;中…...

AI 辅助编程浪潮下,开发者如何平衡使用与责任?

接受改变 编程曾经很有趣&#xff0c;如今工具变了&#xff0c;AI 迫使开发者做出改变。作者曾用 GitHub Copilot 实现代码补全和生成&#xff0c;首次真正体验 AI 辅助开发是在 Codex 上。起初完全依赖 Codex 让作者迷茫&#xff0c;后采用“逐提交质量检查的 AI 辅助”方法&a…...

7个终极技巧:使用ZIO设计可扩展的微服务架构

7个终极技巧&#xff1a;使用ZIO设计可扩展的微服务架构 【免费下载链接】zio ZIO — A type-safe, composable library for async and concurrent programming in Scala 项目地址: https://gitcode.com/gh_mirrors/zi/zio ZIO是一个类型安全、可组合的Scala异步并发编程…...