V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  wuhao  ›  全部回复第 5 页 / 共 15 页
回复总数  295
1  2  3  4  5  6  7  8  9  10 ... 15  
求助
@xubiaosunny 谢谢,用挂载目录的方式解决啦
@lany 谢谢大神,我用的 bt 宝塔面板的 docker ,一直没找到启动代码在哪里添加的。。
@fortitudeZDY
服务器目录 /var/run/tailscale 挂在到 docker 的容器目录 /var/run/tailscale ,问题解决。感谢感谢
@fortitudeZDY 如果一个是主机,一个是主机下面的 docker ,怎么映射呢
@fortitudeZDY 你说的本地说在 docker 的 derp 容器里安装吗,derp 的 docker 很简陋装不进去啊
263 天前
回复了 Jaeger 创建的主题 软件 Obsidian 最优的跨平台数据同步方案是什么?
@xloong 群晖的同步软件会不会更好一些呀
264 天前
回复了 Jaeger 创建的主题 软件 Obsidian 最优的跨平台数据同步方案是什么?
@winecat 我所有文件丢在群晖,各地打穿内网直接访问

现在的问题是,文件越来越多,每次打开耗费很多时间啊
264 天前
回复了 Jaeger 创建的主题 软件 Obsidian 最优的跨平台数据同步方案是什么?
@winecat 插件目录怎么办
264 天前
回复了 Jaeger 创建的主题 软件 Obsidian 最优的跨平台数据同步方案是什么?
@xloong 是个插件吗
264 天前
回复了 wogong 创建的主题 程序员 Obsidian Sync 拼车
@94188 怎么个用法?
开启 DERP_VERIFY_CLIENTS=true 之后,日志就一直报错,服务也没办法使用了

2024/04/10 16:25:00 derp: 172.17.0.1:45904: client 6e6f64656b65793a66316637383761626232613634333437326663653531316632353638653562393738346263353233666333353163306430653266306331366433646633383661 rejected: failed to query local tailscaled status: Failed to connect to local Tailscale daemon for /localapi/v0/status; not running? Error: dial unix /var/run/tailscale/tailscaled.sock: connect: no such file or directory
2024/04/10 16:25:00 derp: 172.17.0.1:45906: client 6e6f64656b65793a66316637383761626232613634333437326663653531316632353638653562393738346263353233666333353163306430653266306331366433646633383661 rejected: failed to query local tailscaled status: Failed to connect to local Tailscale daemon for /localapi/v0/status; not running? Error: dial unix /var/run/tailscale/tailscaled.sock: connect: no such file or directory
上面是文心一言回复的。。。不小心发上来不知道咋删除了
确实,Docker 容器与宿主机之间是隔离的,这意味着容器内部无法直接访问宿主机上安装的服务或获取其状态。对于你提到的 DERP_VERIFY_CLIENTS=true 需要 tailscale 服务支持,并且需要在登陆状态下使用,这就需要容器能够与宿主机上的 tailscale 服务通信。

下面是一些可能的解决方案:

使用 --network=host 参数:
将容器的网络设置为宿主机的网络。这样容器会直接使用宿主机的网络栈,从而可以访问宿主机上的服务。但请注意,这样做会失去 Docker 提供的网络隔离性。

bash
docker run --network=host ...
设置端口转发:
如果 tailscale 服务在宿主机上监听某个端口,你可以将这个端口转发到容器内。这样容器就可以通过这个端口与 tailscale 通信。

bash
docker run -p <宿主机端口>:<容器端口> ...
然后在容器内配置相应的地址和端口以连接 tailscale 服务。

使用 Docker Compose:
如果你使用 Docker Compose 来管理你的服务,你可以通过配置 extra_hosts 和网络选项来实现与宿主机的通信。

yaml
version: '3'
services:
derp:
image: your-derp-image
environment:
- DERP_VERIFY_CLIENTS=true
extra_hosts:
- "tailscale-host:<宿主机 IP>"
networks:
- your-custom-network

networks:
your-custom-network:
driver: bridge
确保 <宿主机 IP> 是正确的,然后你可以在容器内部使用 tailscale-host 这个主机名来访问宿主机上的 tailscale 服务。

使用 Unix Socket:
如果 tailscale 提供了 Unix Socket 接口,并且你可以将这个 Socket 映射到容器内,那么容器可以通过这个 Socket 与 tailscale 通信。但请注意,Docker 官方文档中提到对 Unix Socket 的映射有一些限制和注意事项。

bash
docker run -v /path/to/tailscale.sock:/path/in/container/tailscale.sock ...
然后配置你的 derp 服务来使用容器内的这个 Socket 文件。

检查文档和社区:
查看 derp 和 tailscale 的官方文档,看看是否有关于在 Docker 容器中使用的特定指南或建议。同时,也可以搜索相关的社区讨论或问题,看看其他用户是如何解决类似问题的。

考虑不使用 Docker:
如果以上方法都无法满足你的需求,或者你发现这些方法都太过复杂,你可能需要重新考虑是否使用 Docker 来部署你的 derp 服务。在某些情况下,直接在宿主机上运行服务可能会更简单和直接。

请注意,任何修改配置或网络设置的操作都需要小心谨慎,以确保不会破坏现有系统的安全性和稳定性。在进行任何更改之前,最好先备份重要的数据和配置。

文心大模型 3.5 生成
@jianv3
@kwater
@JensenQian
-_-! 不好意思脑子短路
@Yanel 是什么啊
@totoro625 @wanwusangzhi 谢谢谢谢谢
@idealhs 有点晕
@Damn 惭愧惭愧,抱歉啊
@Puteulanus 好像版本比较老
1  2  3  4  5  6  7  8  9  10 ... 15  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1114 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 20ms · UTC 18:42 · PVG 02:42 · LAX 10:42 · JFK 13:42
Developed with CodeLauncher
♥ Do have faith in what you're doing.