【Docker】Docker配置远程访问

ops/2024/11/30 8:18:10/

配置Docker的远程访问,你需要按照以下步骤进行操作:

1. 在Docker宿主机上配置Docker守护进程监听TCP端口

Docker守护进程默认只监听UNIX套接字,要实现远程访问,需要修改配置以监听TCP端口。

‌方法一:修改Docker服务文件‌

编辑Docker的服务文件,通常位于/usr/lib/systemd/system/docker.service(路径可能因系统而异)。

sudo vim /usr/lib/systemd/system/docker.service


找到ExecStart行,并添加-H tcp://0.0.0.0:2375(或其他你希望监听的端口)。例如:

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


保存并退出后,重新加载systemd配置并重启Docker服务:

sudo systemctl daemon-reload
sudo systemctl restart docker


‌方法二:修改daemon.json配置文件‌

如果Docker守护进程的配置是通过/etc/docker/daemon.json文件进行的,你可以在该文件中添加监听地址。

创建或编辑/etc/docker/daemon.json文件:

sudo vim /etc/docker/daemon.json


添加以下内容(如果文件已存在,则直接添加"hosts"键):

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


保存并退出后,重启Docker服务:

sudo systemctl restart docker

2. 在Docker宿主机上配置防火墙规则,允许远程访问Docker TCP端口

你需要确保防火墙允许外部访问Docker的TCP端口(默认为2375,但你可以自定义)。

例如,使用ufw(Uncomplicated Firewall)配置规则:

sudo ufw allow 2375/tcp
sudo ufw reload


如果你使用的是其他防火墙工具,如firewalld,请按照相应的命令配置规则。

注意:以上为linux系统上的操作,windows上的可参考我的另一篇文章

【Docker】windows环境下的docker如何开放远程2375端口icon-default.png?t=O83Ahttps://blog.csdn.net/ET1131429439/article/details/126541568

3. 在远程机器上安装Docker客户端

在远程机器上安装Docker客户端,以便通过TCP连接访问Docker宿主机。

安装Docker客户端的步骤通常与在宿主机上安装Docker的步骤相同,但请注意,你不需要在远程机器上运行Docker守护进程。

4. 使用Docker客户端配置远程访问Docker宿主机的地址和端口

你可以通过Docker客户端的-H选项指定要连接的Docker宿主机地址和端口。

例如,在远程机器上运行以下命令来列出Docker宿主机上的容器

docker -H tcp://<宿主机IP>:2375 ps


将<宿主机IP>替换为Docker宿主机的实际IP地址。

5. 测试远程访问Docker宿主机是否成功

你可以通过运行一些Docker命令来测试远程访问是否成功。

例如,在远程机器上运行以下命令来拉取一个镜像:

docker -H tcp://<宿主机IP>:2375 pull hello-world


如果命令成功执行并拉取了镜像,则说明远程访问配置成功。

请注意,出于安全考虑,建议不要在生产环境中使用未加密的TCP连接来访问Docker守护进程。你可以通过配置TLS加密来保护通信过程的安全性。有关如何配置TLS加密的详细信息,请参考Docker官方文档或其他相关资源。


http://www.ppmy.cn/ops/137876.html

相关文章

使用Alpine镜像作为基础镜像的Dockerfile配置

配置阿里 apk源&#xff1a; /etc/apk/repositories&#xff1a; https://mirrors.aliyun.com/alpine/v3.13/main alpine-v3.13-community安装包下载_开源镜像站-阿里云 或者使用命令 sed -i sdl-cdn.alpinelinux.orgmirrors.aliyun.comg /etc/apk/repositories dockerfil…

观察者模式 (Observer Pattern)

文章目录 观察者模式 (Observer Pattern)原理优点缺点示例代码场景描述1. 定义观察者接口2. 定义目标接口3. 实现具体目标类4. 实现具体观察者类5. 客户端代码输出结果 UML 类图使用场景优化与扩展小结 观察者模式 (Observer Pattern) 观察者模式是一种 行为型设计模式&#x…

电子应用设计方案-29:智能云炒菜系统方案设计

智能云炒菜系统方案设计 一、系统概述 本智能云炒菜系统旨在为用户提供便捷、高效、个性化的烹饪体验&#xff0c;结合云技术实现远程控制、食谱分享、智能烹饪流程优化等功能。 二、系统组成 1. 炒菜锅主体 - 高品质不粘锅内胆&#xff0c;易于清洁和维护。 - 加热装置&#x…

WinFrom调用webapi接口另一个方法及其应用实例

1.调用接口方法 代码如下&#xff1a; public class WebAPI{#region WebAPI调用 public async Task<string> Call_Webapi(string Url, string Json) //url传入的是接口名称&#xff0c;json传入的是接口参数{string responseBody string.Empty; //responseBod…

DM达梦管理工具拖出空白区块,无法关闭

1. 出现问题&#xff1a;DM达梦管理工具拖出空白区块&#xff0c;无法关闭。 2. 解决方法 新建查询页&#xff0c;把查询页拖到空白区块里&#xff0c;完全覆盖空白区块。之后空白区块会变成查询页&#xff0c;右上角会出现叉号&#xff0c;点击叉号关闭就行。 3. 后记 达梦…

用户密码存储方式的发展史

文章目录 一、裸奔时代——纯文本存储二、远古时代&#xff1a;加密存储三、近代&#xff1a;单向哈希算法四、哈希加盐&#xff1a;穿上迷彩服两种加盐做法1. 随机生成盐并保存2. 固定算法生成盐并且不保存 五、21世纪&#xff1a;自适应单项函数未来趋势 一、裸奔时代——纯文…

Docker for Everyone Plus——Unbreakable!

修改一下telnet的端口配置&#xff0c;访问第二小问&#xff0c;sudo -l命令允许提权执行的命令&#xff1a; 发现多了这两个限制--security-optno-new-privileges&#xff0c;表明docker run命令必须带上--security-optno-new-privileges参数&#xff0c;这可以防止通过suid机…

154. tweenjs相机运动动画

下面给大家讲解如何通过tweenjs实现threejs相机动画&#xff0c;具体说就是使用tweenjs改变相机的位置camera.position和视线方向。 相机飞行动画(从一个点飞到另一个点) 引入tweenjs&#xff0c;并在requestAnimationFrame动画中执行TWEEN.update();更新。 import TWEEN fr…