Closed Weaxs closed 3 years ago
谢谢orz
一切正常
不好意思再问下,这个v2ray的容器怎么进入orz?就是我用docker exec -i 进容器报permission denied,不好意思,最近才上手docker(:з」∠)
那得看是谁 denied,试试 sudo dcoker
哦对之后面跟的目录是/bin,应该是目录denied,不过用/bin/bash目录进容器是没有此目录no such file or directory 这个是和这个容器有关系吗orz
sudo docker exec -ti name bash
好像还是不行... [root@ip-172-26-12-174 v2ray]# sudo docker exec -ti v2ray bash OCI runtime exec failed: exec failed: container_linux.go:349: starting container process caused "exec: \"bash\": executable file not found in $PATH": unknown [root@ip-172-26-12-174 v2ray]# sudo docker exec -ti v2ray /bash OCI runtime exec failed: exec failed: container_linux.go:349: starting container process caused "exec: \"/bash\": stat /bash: no such file or directory": unknown 谢谢哈hh没事我就是想确认下容器的config没问题,应该是没问题的,我看看是不是和nginx的配置不匹配
这个是 Alpine 打包的,大概没有bash
不好意思再问个问题,举例例子比如我v2ray config里面port是36363,然后v2ray和nginx都用docker两个容器启动。 第一个问题是,我创建的nginx容器是不是要映射一下端口(-p 36363:36363),因为nginx的conf里不会是代理路由到v2ray的36363端口吗? 第二个问题是,v2ray容器需不需要映射端口?不过不应该不能两个容器映射同一端口吧,我看他们别的v2ray的容器是没写端口映射的? 感谢orz
不同模式下答案不同,你应该看文档。 我建议使用 host
config.json:ro
这个:ro是啥情况?为什么需要挂read only?
第一个问题是,我创建的nginx容器是不是要映射一下端口(-p 36363:36363),因为nginx的conf里不会是代理路由到v2ray的36363端口吗?
docker bridge 下端口可以根据喜好自由映射, 比如对nginx做-p 443:443
,再对v2ray做-p 36363:36363
,nginx配置里设置转发到$(v2ray_container_ip):36363
,但是不建议这样,因为就经验而谈bridge下的网络性能十分有限,另外现在有VLESS了可以不用nginx监听443了
第二个问题是,v2ray容器需不需要映射端口?不过不应该不能两个容器映射同一端口吧,我看他们别的v2ray的容器是没写端口映射的?
-p 443:443/tcp
,v2ray-p 443:443/tcp
则会报错端口被占用--network host
后附个人的配置仅供参考:
docker run \
-d \
--cap-add=NET_ADMIN \
--restart=always \
--network host \
-e V2RAY_LOCATION_CONFIG=/etc/v2ray \
-e V2RAY_LOCATION_ASSET=/etc/v2ray \
-e V2RAY_BUF_READV=enable \
-v $(path_to_config):/etc/v2ray \
-v $(path_to_logs):/var/log \
--name v2ray \
v2fly/v2fly-core
好的,我明白了orz感谢,我再去试试hh
感谢大佬们的解答,反馈一下 之后我去看了下 docker_compose 和 VLESS 可以了,但是我没有用VLESS监听443,还是用 nginx 监听443后反向代理到 v2ray
以下是我的docker-compose文件
version: "3.8"
services:
nginx:
image: nginx:latest
restart: always
# ports:
# - "80:80"
# - "443:443"
volumes:
- ./nginx/conf.d:/etc/nginx/conf.d
- ./nginx/certs:/etc/nginx/certs
network_mode: host
container_name: nginx
v2ray:
restart: always
depends_on:
- nginx
image: v2fly/v2fly-core
volumes:
- ./v2fly/config.json:/etc/v2ray/config.json
# - ./nginx/certs:/etc/v2ray/certs
network_mode: host
container_name: v2ray
v2ray的 config.json 用的是下面这个:
https://github.com/v2fly/v2ray-examples/blob/master/VLESS-TCP-TLS-WS%20(recommended)/config_server.json
但是去掉了监听443的部分
以上。感谢orz @nJhEqnvK @kslr
目前创建的命令是这样 docker run --name v2ray -v /etc/v2ray/config.json:/etc/v2ray/config.json:ro v2fly/v2fly-core
日志返回是 020-09-28T16:37:36.708822233Z V2Ray v4.29.0 (v2fly/155c0e07) dockerfly-amd64 (go1.15.2 linux/amd64) 2020-09-28T16:37:36.708852121Z A unified platform for anti-censorship. 2020-09-28T16:37:36.818175991Z 2020/09/28 16:37:36 [Info] v2ray.com/core/common/platform/ctlcmd:
2020-09-28T16:37:36.818204735Z v2ctl> Read config: /etc/v2ray/config.json
2020-09-28T16:37:36.905166281Z 2020/09/28 16:37:36 [Warning] v2ray.com/core: V2Ray v4.29.0 started
就...没太看出来哪有问题。这个docker接入有具体的教程么orz果然是用docker搭的人太少了吗