docker远程连接配置

在开发的时候,我们进程需要用到docker。但很多时候我们用的是window作为开发平台,虽然Docker也有window版本的。但window的DockerToolbox是一款不是很成熟的产品,有很多小伙伴想安装docker都会安装失败,但开发中我们又想用那docker。那么怎么办呢

其实我们可以使用远程连接来解决。

首先我们要明白DockerToolbox的原理其实也是安装在Oracle VM Virtualbox虚拟机上的。因为我安装Oracle VM Virtualbox一直跑不起docker,所以后面我就选择了使用VMware Workstation Pro安装。当然如果你能够使用DockerToolbox安装成功,那么很好,直接用就行。后面的你也不需要去了解了。

安装方式一,在ubuntu系统上安装docker(推荐)

VMware Workstation Pro 虚拟机 boot2docker.iso 镜像 ubuntu-18.04-server-amd64.iso

安装步骤我就不仔细说了。步骤是,先安装VMware Workstation Pro 虚拟机,然后在VMware Workstation Pro 虚拟机上安装ubuntu系统,最后在ubuntu系统上安装Docker。

ubuntu系统上安装Docker可以参考我的文章。【为什么使用docker之一docker安装】

Docker 默认是不支持外部访问,需要支持外部访问需要我们配置,对外暴露端口。

生产环境一把不会对外暴露,这里对暴露只是为了加速开发需要

1、 修改Docker服务启动配置文件

vim /etc/default/docker

文件打开后,添加如下配置。

DOCKER_OPTS="-H unix:///var/run/docker.sock -H 0.0.0.0:2375"

如图所示:
在这里插入图片描述
有时候配置了上面的,重启docker守护线程还是没有生效,所以我们需要再给docker.service文件添加配置。

2、配置docker守护线程监控的配置。

vim /lib/systemd/system/docker.service

配置文件打开后,添如下配置:

EnvironmentFile=-/etc/default/docker

ExecStart=/usr/bin/docker daemon -H fd:// $DOCKER_OPTS
在这里插入图片描述
3、加载配置

systemctl daemon-reload

4、重启docker守护线程

systemctl restart docker

5、查看配置是否生效

ps aux|grep docker

如果看到有我图中红线的部分,标识配置已经生效。表示我们可以远程访问docker了。

这里写图片描述
上面搞等了,我们要需要访问。那么我们需要在开发工具(IDEA)上安装一个插件 Docker integration

插件安装 File > Settings > Plugins 搜Docker integration 即可。如下图
在这里插入图片描述
安装完成,重启IDEA后。 File > Settings > Build, Execution, Deployment 下 面会多一个Docker的工具。如下图
在这里插入图片描述
然后点击 + 号创建一个连接,我们因为安装在ubuntu上,同时对外暴露了2375端口,所以我们输入宿主机的ip和我们暴露的端口即可连接了。

连接成功后是这样的,如下图,可以看到我们的镜像文件。
在这里插入图片描述
这样我就可以利用Docker integration构建镜像,创建仓库,上传镜像等,大大提高了开发效率。更新操作可以参考官方说明:https://www.jetbrains.com/help/idea/docker.html

镜像运行演示

下面我们来演示,运行我们的web:latest镜像。

右击,创建容器
在这里插入图片描述
在这里插入图片描述
容器创建成功,右击就可以启动了。
在这里插入图片描述
运行效果如图:
在这里插入图片描述
安装方式二,直接在VMware Workstation Pro上安装 boot2docker.iso(不推荐)

需要准备的插件:

VMware Workstation Pro 虚拟机 boot2docker.iso 镜像

boot2docker.iso 镜像 文件你可以在DockerToolbox解压后找到安装后可以找到,如果你用这种方法能够安装成功,那你后面的也应该不需要花时间去了解。
在这里插入图片描述
boot2docker.iso 你可以在到:https://github.com/boot2docker/boot2docker/releases 下载。

<think>嗯,用户想了解如何配置Docker远程连接端口,我要根据提供的引用内容来整理步骤。首先,引用[1]提到在ExecStart行添加"-H tcp://0.0.0.0:2375",然后重启docker和防火墙放行端口。引用[2]展示了redis容器的端口映射例子,但用户关注的是守护进程配置而非容器端口。引用[3]重复了重启和防火墙命令。 用户明确需要配置Docker守护进程以支持远程API访问,而不是容器端口映射。核心步骤应该是修改systemd配置:定位docker.service文件,在ExecStart末尾添加"-H tcp://0.0.0.0:2375"。这里端口可以自定义,但2375是默认的未加密端口。之后必须daemon-reload重启服务,防火墙开放对应端口。安全方面需要强调风险,引用[1]测试成功但未提加密措施。 考虑到用户可能的环境差异,需要补充不同系统的配置文件路径差异:Ubuntu在/lib/systemd/system,CentOS在/usr/lib/systemd/system。测试部分应给出curl命令示例,同时提醒TLS加密配置的复杂性。安全警告必须突出,比如直接暴露2375端口的危险性,建议内网使用或启用TLS。 相关问题设计要覆盖延伸需求:如何加密配置、修改端口、容器端口映射的区别、防火墙管理以及安全加固措施。用户可能是运维人员,所以故障排查部分加入端口占用检测命令(netstat/lsof)很有必要。 </think>以下是配置 Docker 远程连接端口的完整步骤及注意事项: ### 配置步骤 1. **修改 Docker 服务配置** ```bash sudo vim /etc/systemd/system/docker.service.d/override.conf ``` 在 `[Service]` 部分添加(若文件不存在则新建): ```ini [Service] ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375 ``` > 📌 关键说明: > `-H tcp://0.0.0.0:2375` 启用 TCP 监听(端口可自定义)[^1] 2. **重启 Docker 服务** ```bash sudo systemctl daemon-reload && sudo systemctl restart docker ``` 3. **防火墙放行端口** ```bash sudo firewall-cmd --zone=public --add-port=2375/tcp --permanent sudo firewall-cmd --reload ``` 4. **验证配置** ```bash curl http://localhost:2375/version # 本地测试 telnet 服务器IP 2375 # 远程测试 ``` ### ️ 安全警告 1. **高风险暴露** 直接暴露 2375 端口可能被劫持(如:恶意创建容器、删除镜像),**仅限内网环境使用**。 2. **强制加密方案(生产必选)** ```ini ExecStart=/usr/bin/dockerd --tlsverify \ --tlscacert=/etc/docker/ca.pem \ --tlscert=/etc/docker/server-cert.pem \ --tlskey=/etc/docker/server-key.pem \ -H tcp://0.0.0.0:2376 ``` > 需配置 TLS 证书并改用 2376 加密端口。 ### 常见问题场景 - **容器端口映射 vs 守护进程端口** 用户可能混淆容器端口映射(如 `-p 6399:6379`[^2])与守护进程端口(控制 API 访问)。 - **配置未生效排查** ```bash sudo systemctl status docker # 检查服务状态 journalctl -u docker -n 50 # 查看日志 ss -tuln | grep 2375 # 确认端口监听 ``` --- ### 相关问题 1. 如何为 Docker 远程连接配置 TLS 加密证书? 2. 修改 Docker 监听端口后客户端如何连接? 3. 防火墙放行端口失败有哪些常见原因? 4. Docker 远程 API 有哪些高风险操作需要防护? 5. 容器端口映射与守护进程端口的区别是什么?[^2] [^1]: Docker 守护进程配置参考 [^2]: 容器端口映射示例 [^3]: 服务重启与防火墙命令
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值