通过Docker部署V2Ray

Page content

Docker 技术是一种新的虚拟化技术,和传统的虚拟化技术不同。 V2Ray 同样提供 Docker 部署方式,并且通过 Docker 来部署 V2Ray 会非常轻松高效。

Docker 只能部署在 KVM 或者 XEN 架构的 VPS中

校准时区

> timedatectl list-timezones | grep Shanghai
Asia/Shanghai

> sudo timedatectl set-timezone Asia/Shanghai

> date -R
Sat, 26 Jun 2021 18:03:36 +0800

安装 Docker:

$ sudo apt-get install -y docker
  • 注意 不是 sudo apt-get install docker,apt-get 安装的是一个GUI应用程序,而不是我们要使用的开发工具。

OR

sudo curl -sSL https://get.docker.com/ | sh

安装完 Docker我们需要拉取v2ray镜像

$ sudo docker pull v2ray/official

待 V2Ray 的 Docker 镜像拉取完成后就可以进入下一个部署阶段. 在此之前,你需要在 /etc 目录下新建一个文件夹 v2ray, 并把你的配置写好后命名为 config.json 放入 v2ray 文件夹内. 待配置文件准备就绪后键入以下命令进行部署,部署前请记下配置文件中你所设置的端口号,在部署时需要将其映射到宿主机上. 否则将无法访问. 此处假设设定的端口号为8888,需要映射到宿主机的8888端口上. 则命令为:

sudo mkdir /etc/v2ray
sudo cp config.json /etc/v2ray/config.json

sudo docker run -d --name v2ray -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime -v /etc/v2ray:/etc/v2ray -p 8888:8888 v2ray/official v2ray -config=/etc/v2ray/config.json

# 键入以上命令后,命令行会出现一串字符,代表容器部署成功,可以立即通过客户端连接并开始使用了. 如果还不放心,键入以下命令来查看容器的运行状态:
sudo docker container ls
CONTAINER ID   IMAGE            COMMAND                  CREATED          STATUS          PORTS                                       NAMES
b7c6af70665b   v2ray/official   "v2ray -config=/etc/…"   11 minutes ago   Up 11 minutes   0.0.0.0:8888->8888/tcp, :::8888->8888/tcp   v2ray

管理 V2Ray:

# 启动 V2Ray:
$ sudo docker container start v2ray 

# 停止 V2Ray:
$ sudo docker container stop v2ray 

# 重启 V2Ray:
$ sudo docker container restart v2ray

# 查看日志:
$ sudo docker container logs v2ray

# 更新配置后,需要重新部署容器,命令如下:

$ sudo docker container stop v2ray
$ sudo docker container rm v2ray
$ sudo docker run -d --name v2ray -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime -v /etc/v2ray:/etc/v2ray -p 8888:8888 v2ray/official v2ray -config=/etc/v2ray/config.json

更换端口

假如你的配置换了端口号,那么相应的端口映射也要更改,假如你在配置文件中把监听端口改为了9999,则’-p’参数应该这样写:

-p  9999:9999

假如你想将容器中的端口映射到本机的端口,则命令应该这样写

-p 127.0.0.1:端口号:端口号

除非你打算使用Nginx来转发Websocket否则不需要映射到本地,直接填写端口号:端口号的形式即可

另外,如果开启了动态端口,-p 标记可以多次使用来绑定多个端口. 具体用法是在指令中再加上多个 -p 标记即可。

更新 V2Ray 的 Docker 镜像:

$ docker pull v2ray/official

更新完之后,你需要重新部署容器,方法见上。

本文由 络壳 原创或整理,转载请注明出处