Docker部署Xray指南:零基础也能快速搭建代理服务

开始前你需要准备什么

在动手用 Docker 部署 Xray 之前,先确认三件事:

  • 一台 Linux 服务器(本文以 Ubuntu 22.04 为例,CentOS 操作基本一致)。
  • 已经安装好 Docker。如果还没装,在终端逐条执行下面两行:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

装好后运行 sudo docker version 确认信息正常。

  • 一个域名并解析到服务器 IP(如果你需要 TLS 加密,推荐先准备好,本文示例会加一条注释)。

拉取 Xray 镜像并准备配置文件

首先从 Docker Hub 拉取 Xray 官方镜像:

sudo docker pull xray/xray

接着在服务器上创建一个工作目录,用来存放 Xray 的配置文件和日志:

mkdir -p ~/xray && cd ~/xray

新建配置文件 config.json,用 vim 或 nano 写入以下内容(这是一个最简的 VMess + WebSocket 配置,适合初学者快速跑通):

{
  "log": {
    "loglevel": "info"
  },
  "inbounds": [
    {
      "port": 8080,
      "protocol": "vmess",
      "settings": {
        "clients": [
          {
            "id": "你的-uuid-这里替换",
            "alterId": 0
          }
        ]
      },
      "streamSettings": {
        "network": "ws",
        "wsSettings": {
          "path": "/ray"
        }
      }
    }
  ],
  "outbounds": [
    {
      "protocol": "freedom",
      "settings": {}
    }
  ]
}
UUID 生成:可以在终端执行 cat /proc/sys/kernel/random/uuid 来获得一个随机 ID。

启动 Xray 容器

~/xray 目录下执行启动命令:

sudo docker run -d --name xray \
  -p 8080:8080 \
  -v $(pwd)/config.json:/etc/xray/config.json \
  xray/xray:latest

分解说明:

  • -d:后台运行。
  • --name xray:给容器取个名字方便管理。
  • -p 8080:8080:将主机的 8080 端口映射到容器的 8080 端口。
  • -v:把刚才写的配置文件挂载进容器。

如果服务器有防火墙(如 ufw 或 iptables),记得放行 8080 端口。
Ubuntu 下用:

sudo ufw allow 8080

验证服务是否正常运行

容器启动后,用以下命令查看状态:

sudo docker ps -a

看到 xray 容器的 STATUS 为 Up 就代表已启动。

接着查看日志确认无报错:

sudo docker logs xray

正常应该能看到类似 Xray 1.8.0 started 的信息。

然后使用客户端(如 v2rayN、Shadowrocket)填入服务器 IP、端口 8080、UUID、WebSocket 路径 /ray 进行连接测试。
如果连不上,先检查服务器防火墙和云服务商的安全组是否放开端口。

常见问题与避坑说明

  1. 镜像拉取失败:国内服务器建议给 Docker 配置镜像加速器,或者使用 docker pull ghcr.io/xtls/xray-core 替代。
  2. 配置文件格式错误:Xray 对 JSON 的合法性要求严格,推荐用 jq . config.json 检查格式;如果提示 unexpected token,重新检查括号和逗号。
  3. 容器闪退:通常是因为配置文件写错或端口被占用。先用 sudo docker logs xray 看最后几行报错,再对照修改。
  4. 客户端连不上但服务器日志正常:检查路径 /ray 是否一致,或者尝试将协议改为 VMess over TCP 排除 WebSocket 问题。
  5. 如果想用 TLS:需要先申请 SSL 证书(推荐 acme.sh),然后修改 inbound 的 streamSettings 补充 tls 配置,并将端口改为 443。

总结

Docker 部署 Xray 的最大优势是环境隔离、迁移简单。
先按照本文的步骤完整走一遍,确认服务 Running 之后再根据自己的需求调整 inbound 协议、加密方式和端口。
遇到异常时优先回看日志和防火墙设置,大多数问题都能快速定位。

如果你是宝塔面板用户,也可以在“Docker”模块中手动拉取镜像、创建容器,挂载配置文件的逻辑完全一样。
只要把本地路径改为宝塔面板的文件路径即可。

分享到:
上一篇
Linux服务器内核升级回滚实操指南
下一篇
服务器轻量云服务器测评:轻量云服务器测评怎么做?新人也能上手
1
系统公告

泽御云五一特惠活动🔥

泽御云持证合规运营,资质齐全可查,长久稳定! 五一限时多重福利同步开启: ✅ 香港 2 核 2G 云服务器超值拼团,低价入手团长免费 ✅ 4 核 4G 多机房年付拼团,性价比拉满 ✅ 内蒙古新区限时 7 折(zeyuyunnmg)特惠,专属优惠码锁价续费 ✅ 全站通用 75 折优惠,老用户充值享专属赠金 官方站点:zeyuyun.com 合规资质齐全|售后有保障|活动限时错过不再有
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意