02 如何启用Docker-Desktop的RemoteAPI

一、概述

Docker Remote API是一组RESTful API,允许开发人员通过HTTP协议与本地或远程的Docker守护进程进行通信。它使得可以在不使用Docker命令行接口的情况下,实现自动化的容器管理和部署。
使用Docker Remote API,可以创建、启动、停止、删除、暂停、恢复容器,管理镜像、卷和网络等资源,并获取有关系统状态、容器事件和日志等信息。
Docker Remote API可以通过TCP或UNIX套接字访问,并且支持标准的HTTP方法(如GET、POST、PUT、DELETE)以及JSON格式的数据。用户可以使用任何适合他们的编程语言来开发Docker客户端应用程序,并与其它工具和服务集成,例如CI/CD工具、编排工具和监控工具等。
需要注意的是,Docker Remote API默认情况下是未加密的,并且可能会导致安全风险。因此,在生产环境中使用Docker Remote API时,需要谨慎考虑安全性问题,并采取必要的安全措施,例如使用HTTPS协议、身份验证和访问控制等。

二、如何启动Docker-Desktop的RemoteAPI

Docker的RemoteAPI需要手动开启,开启远程RemoveAPI允许我们在同网段下的其他主机(例如开发机器)上调用,实现对目标Docker的操作(例如开发人员将新的后台服务镜像推送到此机器)。
为何标题强调Docker-Desktop,因为和Linux环境下的配置有所区别,Windows(Win 10/11)环境下Docker想要启动RemoveAPI(2375端口)需要执行如下过程:

  • Docker-Desktop设置面板勾选”Expose daemon on tcp://localhost:2375 without TLS“
  • Docker-Desktop设置面板的DockerEngine中增加配置
"hosts": ["tcp://0.0.0.0:2375"]
  • 增加防火墙关于2375端口的入站规则
# 增加防火墙关于2375端口的入站规则
netsh advfirewall firewall add rule name="docker_daemon" dir=in action=allow protocol=TCP localport=2375
  • 宿主机设置代理监听本地127.0.0.1:2375
#替换 <your_IP>为 docker 主机的公共 IP 地址
netsh interface portproxy add v4tov4 listenport=2375 listenaddress=<your_IP> connectaddress=127.0.0.1 connectport=2375
  • Windows涉及IP的有关服务设置

任务管理器→服务标签页→任选一个服务,右键“打开服务”进入服务中心
找到IP Helper与IP 转换配置服务,将其启动类型设置为自动,然后重启一下这两项服务

三、验证

  • 方法1:本机、同网段机器访问 ”ip:2375“,出现”{“message”:“page not found”}“
  • 方法2:本机、同网段机器CMD执行命令,出现目标宿主机Docker信息
docker -H ip:2375 info

20191208213204727.png

三、参考文档

【优快云】【Docker】windows环境下的docker如何开放远程2375端口
【优快云】Windows开启Docker远程访问

<think>嗯,用户想在Docker Desktop上部署VLLM项目或服务,我需要一步步思考如何解决这个问题。首先,我得确认用户的环境是否满足要求。根据引用[1],Docker Desktop在Windows上依赖WSL 2,所以用户需要先安装并配置好WSL 2和Linux发行版,比如Ubuntu。这点很重要,否则后续步骤可能无法进行。 接下来,用户需要安装Docker Desktop。引用[1]提到下载Docker Desktop并完成安装后,确保Docker服务正常运行。用户可能已经完成了这一步,但作为指导,还是应该提醒他们检查Docker是否启动,避免后续出现问题。 然后,部署VLLM的关键是获取正确的镜像。引用[2]中提到了官方镜像vllm/vllm-openai:latest,但可能由于网络问题,用户可能需要使用网友自建的仓库,比如dockerproxy.cn或者dockerpull.com。这里需要给出具体的拉取命令,比如docker pull vllm/vllm-openai:latest,如果无法拉取,可以尝试替换镜像源,比如使用阿里云的镜像。 接下来是下载模型。用户需要下载Qwen2模型,比如Qwen2-7B-Instruct,并挂载到容器中。引用[2]和[3]都提到了模型的下载和挂载方法。需要指导用户创建本地目录,例如mkdir -p /data/models/qwen2-7b-instruct,然后将模型文件放入其中。运行容器时,通过-v参数将模型目录挂载到容器的指定路径,比如-v /data/models/qwen2-7b-instruct:/usr/local/models。 然后,启动容器的命令可能需要调整端口映射,例如-p 8000:8000,这样用户可以通过localhost:8000访问API服务。同时,可能需要设置环境变量,如HUGGINGFACE_HUB_CACHE来指定模型缓存路径,确保容器正确读取模型。 测试服务部分,需要指导用户使用curl命令发送请求,验证服务是否正常响应。例如,发送一个简单的生成请求,检查返回结果是否符合预期。 此外,用户可能遇到网络问题导致镜像拉取失败,这时候需要提供替代的镜像源,或者手动下载镜像的方法。同时,模型路径的权限问题也可能导致容器无法读取模型,需要提醒用户检查目录权限,或者使用--privileged参数运行容器。 最后,引用[3]提到用户之前的博客中有更多相关内容,可能需要引导用户参考这些资料获取更详细的信息,比如Docker和vLLM的安装步骤,或者其他模型的部署经验。 总结下来,步骤应该是:环境准备→安装Docker→拉取VLLM镜像→下载并挂载模型→启动容器→测试服务。同时,注意可能的网络问题和路径配置,确保用户能够顺利部署。</think>### 分步指南:在 Docker Desktop 上部署 vLLM 服务 #### 一、环境准备 1. **安装 WSL 2** 在 Windows 系统中,Docker Desktop 依赖 WSL 2 作为后端运行环境[^1]。通过 PowerShell 执行: ```bash wsl --install -d Ubuntu ``` 2. **安装 Docker Desktop** 下载并安装最新版 Docker Desktop,安装后需在设置中启用 WSL 2 集成[^1]。 #### 二、拉取 vLLM 镜像 1. **官方镜像拉取** ```bash docker pull vllm/vllm-openai:latest ``` *若因网络问题失败,可尝试替换镜像源*: ```bash docker pull registry.dockerproxy.com/vllm/vllm-openai:latest # 使用代理镜像 ``` #### 三、下载并挂载模型 1. **模型下载** 推荐下载 Qwen2 系列模型(如 Qwen2-7B-Instruct): ```bash git clone https://www.modelscope.cn/qwen/Qwen2-7B-Instruct.git /data/models/qwen2-7b-instruct ``` 2. **创建挂载目录** 确保本地模型路径存在: ```bash mkdir -p /data/models/qwen2-7b-instruct ``` #### 四、启动 vLLM 服务 1. **运行容器** ```bash docker run -d --gpus all --privileged \ -p 8000:8000 \ -v /data/models/qwen2-7b-instruct:/usr/local/models \ -e HUGGINGFACE_HUB_CACHE=/usr/local/models \ vllm/vllm-openai:latest \ --model=/usr/local/models \ --dtype=auto \ --trust-remote-code ``` **关键参数说明**: - `--gpus all`:启用 GPU 加速(需 NVIDIA 驱动支持) - `--privileged`:解决容器内设备权限问题 - `-v`:将本地模型目录挂载到容器- `--trust-remote-code`:允许加载自定义模型代码[^2] #### 五、验证服务 1. **API 测试** 通过 `curl` 发送生成请求: ```bash curl http://localhost:8000/v1/completions \ -H "Content-Type: application/json" \ -d '{ "model": "/usr/local/models", "prompt": "如何解释量子力学?", "max_tokens": 100 }' ``` #### 六、常见问题解决 1. **镜像拉取失败** 使用阿里云镜像加速: ```bash docker pull registry.cn-hangzhou.aliyuncs.com/thirdparty/vllm-openai:latest ``` 2. **GPU 不可用** 检查 NVIDIA 容器工具包是否安装: ```bash distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \ && curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.repo | sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值