h5网站架设,建设厅官方网站北京,教育网站制作网站,知名品牌vi设计问题背景
本地开发了一个SpringBoot项目#xff0c;想通过Docker部署起来#xff0c;我本地是Window11系统#xff0c;由于某些原因不能虚拟化并且未安装Docker-Desktop#xff0c;所以我在想有没有办法本地不需要虚拟化也不需要安装Docker-Desktop来实现支持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时表示已开放远程访问。
[rootregistry ~]# 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.00000000000: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.00000000000:00}
[rootregistry ~]# 安装客户端
在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命令所在的文件夹的名称需要注意不能随便乱取名。我的情况是需要跟服务器上的当前文件夹名称保持一致