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

Windows远程连接Docker服务

问题背景

本地开发了一个SpringBoot项目,想通过Docker部署起来,我本地是Window11系统,由于某些原因不能虚拟化并且未安装Docker-Desktop,所以我在想有没有办法本地不需要虚拟化也不需要安装Docker-Desktop来实现支持Docker命令远程连接到我自己的服务器上。经过搜索以及大佬的指点发现了一个办法。那就是通过Docker客户端远程连接服务器的Docker服务端。

实现

Docker服务端允许远程访问

Docker客户端远程访问服务端
查看Docker服务端版本

docker version

在这里插入图片描述
获取到Docker服务端版本为24.0.9。

修改docker.service开放远程访问。

# 编辑
vim /etc/systemd/system/docker.service

找到该文件中的

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

注释或删除改行,替换为如下命令

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

在这里插入图片描述
替换之后保存退出,然后重启Docker服务

systemctl daemon-reload && systemctl restart docker

在你本地通过浏览器访问http://{服务器IP}:2375/version,当看到页面显示一串JSON时表示已开放远程访问。

[root@registry ~]# curl http://10.0.11.70:2375/version
{"Platform":{"Name":"Docker Engine - Community"},"Components":[{"Name":"Engine","Version":"24.0.9","Details":{"ApiVersion":"1.43","Arch":"amd64","BuildTime":"2024-02-01T00:49:16.000000000+00:00","Experimental":"false","GitCommit":"fca702d","GoVersion":"go1.20.13","KernelVersion":"3.10.0-1160.el7.x86_64","MinAPIVersion":"1.12","Os":"linux"}},{"Name":"containerd","Version":"v1.7.13","Details":{"GitCommit":"7c3aca7a610df76212171d200ca3811ff6096eb8"}},{"Name":"runc","Version":"1.1.12","Details":{"GitCommit":"v1.1.12-0-g51d5e94"}},{"Name":"docker-init","Version":"0.19.0","Details":{"GitCommit":"de40ad0"}}],"Version":"24.0.9","ApiVersion":"1.43","MinAPIVersion":"1.12","GitCommit":"fca702d","GoVersion":"go1.20.13","Os":"linux","Arch":"amd64","KernelVersion":"3.10.0-1160.el7.x86_64","BuildTime":"2024-02-01T00:49:16.000000000+00:00"}
[root@registry ~]# 

安装客户端

在Windows访问 https://download.docker.com/win/static/stable/x86_64/ 下载跟服务端版本一致的客户端压缩包
在这里插入图片描述
下载之后解压到指定文件夹,比如我放在D:\environment\docker-24.0.9下。在D:\environment\docker-24.0.9下会多出来一个名字为docker的文件夹,里面有如下图docker.exe、dockerd.exe、docker-proxy.exe三个文件
在这里插入图片描述

配置环境变量

Windows的系统环境变量中添加一个环境变量DOCKER_HOST,值配置为tcp://{IP}:2375,这个IP替换为Docker所在服务器的IP (例如我的tcp://10.0.11.70:2375)

然后再添加一个环境变量DOCKER_CLIENT,值配置为DOCKER_CLIENT,也就是刚刚解压的目录,并且在Path中添加该变量(%DOCKER_CLIENT%),配置该环境变量后可以在任何位置访问docker.exe可执行文件。
在这里插入图片描述


在这里插入图片描述

验证

打开CMD,在任意文件夹下执行docker ps查看是否显示服务器上的容器。

Docker-Compose安装

查看服务端docker-compose版本

docker-compose version# Docker Compose version v2.29.2

下载相同版本的docker-compose
访问 https://github.com/docker/compose/releases 下载对应版本的docker-compose
在这里插入图片描述
下载后存放到docker客户端所在的目录D:\environment\docker-24.0.9下,然后重命名为docker-compose
在这里插入图片描述

验证

运行命令查看是否生效。

docker-compose ps

注意:运行docker-compose命令所在的文件夹的名称需要注意,不能随便乱取名。我的情况是需要跟服务器上的当前文件夹名称保持一致

http://www.lryc.cn/news/525016.html

相关文章:

  • 在Qt中实现点击一个界面上的按钮弹窗到另一个界面
  • 嵌入式知识点总结 ARM体系与架构 专题提升(一)-硬件基础
  • 全氟醚橡胶发展前景:高性能密封材料的璀璨之星
  • Android程序中使用FFmpeg库
  • Spring 依赖注入详解:创建 Bean 和注入依赖是一回事吗?
  • 【动态规划】落花人独立,微雨燕双飞 - 8. 01背包问题
  • 浅说树上差分——点差分
  • All in大模型!智能座舱语音交互决胜2025
  • windows git bash 使用zsh 并集成 oh my zsh
  • Git进阶笔记系列(01)Git核心架构原理 | 常用命令实战集合
  • IDEA导入Maven工程不识别pom.xml
  • AT8870单通道直流电机驱动芯片
  • 计算机视觉算法实战——实体物体跟踪
  • 网络协议如何确保数据的安全传输?
  • 在elasticsearch中,document数据的写入流程如何?
  • 【优选算法】6----查找总价格为目标值的两个商品
  • 99.8 金融难点通俗解释:净资产收益率(ROE)
  • Java设计模式—观察者模式
  • 人工智能在数字化转型中的角色:从数据分析到智能决策
  • 论文阅读 Multi-view Classification Using Hybrid Fusion and Mutual Distillation
  • AIGC浪潮下,图文内容社区数据指标体系如何构建?
  • ”彩色的验证码,使用pytesseract识别出来的验证码内容一直是空“的解决办法
  • 前端Vue2项目使用md编辑器
  • OpenVela 架构剖析:从内核到应用
  • vue视频流播放,支持多种视频格式,如rmvb、mkv
  • 记一个Timestamp时区问题的坑
  • 新年好(Dijkstra+dfs/全排列)
  • 如何“看到” Spring 容器?
  • 怎么使用CRM软件?操作方法和技巧有哪些?
  • Spingboot整合Netty,简单示例