V2RayA 是一个易用而强大的跨平台 V2Ray 客户端,通过 Docker 部署 V2RayA,可以方便地进行容器化管理,下面分别介绍使用 Docker 和 Docker Compose 部署 V2RayA 的完整步骤。

一、使用 Docker 部署

  • 安装 Docker :若服务器尚未安装 Docker,可参照官方教程进行安装。以Ubuntu系统为例,执行以下命令安装 :
  • sudo apt-get update
    sudo apt-get install -y docker.io
  • 拉取 V2RayA 镜像 :执行命令 docker pull mzz2017/v2raya,从 Docker Hub 获取官方的 V2RayA 镜像。
  • 运行 V2RayA 容器 :根据是否使用全局透明代理,运行命令有所不同:

    • 全局透明代理方式 :此方式下宿主机和 Docker 容器都会走代理,命令如下:
    docker run -d \
    --name v2raya \
    --network=host \
    -e V2RAYA_ADDRESS=0.0.0.0:2017 \
    -v /lib/modules:/lib/modules:ro \
    -v /etc/resolv.conf:/etc/resolv.conf \
    -v /your/path/v2raya:/etc/v2raya \
    --restart=always \
    --privileged \
    mzz2017/v2raya
  • 非全局透明代理方式 :若不需要全局透明代理,使用以下命令:

    docker run -d \
    --name v2raya \
    -p 2017:2017 \
    -p 20170-20172:20170-20172 \
    -e V2RAYA_ADDRESS=0.0.0.0:0217 \
    -v /your/path/v2raya:/etc/v2raya \
    --restart=always \
    --privileged \
    mzz2017/v2raya
  • 查看容器运行状态 :运行 docker ps命令查看 V2RayA 容器是否成功运行,若看到容器状态为“Up”,则表示运行正常。
  • 查看日志 :实时查看 V2RayA 的日志输出,可执行命令 docker logs -f v2raya,以便于排查问题和了解运行情况。

    二、使用 Docker Compose 部署

  • 安装 Docker Compose :如果未安装 Docker Compose,可使用以下命令进行安装:

    sudo curl -L "https://github.com/docker/compose/releases/download/$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep -Po '"tag_name": "\K.*?(?=")')/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose
  • 创建项目目录与配置文件 :新建一个目录用于存放 V2RayA 的数据和配置文件,例如 mkdir -p /your/path/v2raya/data。然后在该目录下创建 docker-compose.yml文件。

    • 全局透明代理方式 :此方式下宿主机和 Docker 容器都会走代理,内容如下:
    services:
    v2raya:
      image: mzz2017/v2raya
      restart: always
      privileged: true
      network_mode: host
      container_name: v2raya
      environment:
        V2RAYA_LOG_FILE: /tmp/v2raya.log
        V2RAYA_V2RAY_BIN: /usr/local/bin/xray
        V2RAYA_NFTABLES_SUPPORT: off
        IPTABLES_MODE: legacy
      volumes:
        - /lib/modules:/lib/modules:ro
        - /etc/resolv.conf:/etc/resolv.conf
        - $PWD/data:/etc/v2raya
        - /etc/timezone:/etc/timezone:ro
        - /etc/localtime:/etc/localtime:ro
  • 非全局透明代理方式 :若不需要全局透明代理,使用以下命令:

    services:
    v2raya:
      image: mzz2017/v2raya
      restart: always
      privileged: true
      network_mode: bridge
      container_name: v2raya
      environment:
        V2RAYA_LOG_FILE: /tmp/v2raya.log
        V2RAYA_V2RAY_BIN: /usr/local/bin/xray
        V2RAYA_NFTABLES_SUPPORT: off
        IPTABLES_MODE: legacy
      volumes:
        - /lib/modules:/lib/modules:ro
        - /etc/resolv.conf:/etc/resolv.conf
        - $PWD/data:/etc/v2raya
        - /etc/timezone:/etc/timezone:ro
        - /etc/localtime:/etc/localtime:ro
      ports:
        - 2017:2017
        - 20170-20172:20170-20172
  • 启动服务 :在 docker-compose.yml文件所在目录下,执行命令 docker-compose up -d,Docker Compose 将会根据配置文件自动拉取镜像并启动 V2RayA 容器1
  • 查看服务状态和日志 :通过命令 docker-compose ps查看服务的运行状态,使用 docker-compose logs查看服务的日志输出。

    三、配置反向代理(非必须)

  • 为了进一步加强安全防护,因此加入一层反向代理。这里使用nginx。

    server {
        listen       443 ssl;
        listen       [::]:443 ssl;
        server_name  xxx.xxx.com;
        charset utf-8;
        access_log off;
    
        ssl_certificate      /home/cert/fullchain.cer;
        ssl_certificate_key  /home/cert/xxxx.com.key;
        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers on;
    
        location / {
            proxy_pass http://localhost:2017;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }
    
    server {
        listen 80;
        listen [::]:80;
        server_name xxx.xxx.com;
    
        # 核心代码
        rewrite ^(.*)$ https://${server_name}$1 permanent;

### 四、访问与配置 V2RayA

* **访问管理界面** :无论是通过 Docker 还是 Docker Compose 部署,在容器成功运行后,打开浏览器,访问 `https://localhost:2017`,即可进入 V2RayA 的管理界面。若是在远程服务器上部署,则将 `localhost`替换为服务器的 IP 地址。
* **初始配置** :首次访问时需要设置管理员账号和密码。登录后,可以添加或导入节点,配置代理模式等参数,以满足不同的网络代理需求。

### 五、注意事项

* **目录挂载** :在 Docker 和 Docker Compose 的配置中,都涉及到将宿主机的目录挂载到容器内。这样可以确保 V2RayA 的配置文件和数据在容器重启或更新后能够得以保留。
* **版本更新** :当有新的 V2RayA 版本发布时,可以先执行 `docker pull mzz2017/v2raya`更新镜像,然后再重新运行容器或执行 `docker-compose up -d`更新服务,以获取最新的功能和安全更新。
* **防火墙设置** :确保服务器的防火墙规则允许访问 V2RayA 所使用的端口,如 2017 端口。

  1. 3^
最后修改:2025 年 07 月 03 日
如果觉得我的文章对你有用,请随意赞赏