惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Securelist
C
CERT Recently Published Vulnerability Notes
Forbes - Security
Forbes - Security
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
L
LINUX DO - 最新话题
The Hacker News
The Hacker News
Google Online Security Blog
Google Online Security Blog
SecWiki News
SecWiki News
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
The Last Watchdog
The Last Watchdog
S
Schneier on Security
T
Troy Hunt's Blog
N
News | PayPal Newsroom
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Schneier on Security
Schneier on Security
P
Privacy & Cybersecurity Law Blog
T
Tor Project blog
T
Threatpost
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
A
Arctic Wolf
S
Secure Thoughts
P
Proofpoint News Feed
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Security Latest
Security Latest
Scott Helme
Scott Helme
Security Archives - TechRepublic
Security Archives - TechRepublic
Latest news
Latest news
PCI Perspectives
PCI Perspectives
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Hacker News - Newest:
Hacker News - Newest: "LLM"
L
LINUX DO - 热门话题
P
Palo Alto Networks Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
G
GRAHAM CLULEY
V2EX - 技术
V2EX - 技术
Google DeepMind News
Google DeepMind News
Project Zero
Project Zero
V
Vulnerabilities – Threatpost
T
Threat Research - Cisco Blogs
Webroot Blog
Webroot Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
N
News and Events Feed by Topic
TaoSecurity Blog
TaoSecurity Blog
大猫的无限游戏
大猫的无限游戏
T
Tenable Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
Visual Studio Blog
H
Hacker News: Front Page
Simon Willison's Weblog
Simon Willison's Weblog
AWS News Blog
AWS News Blog

yyhhyyyyyy

Surge for Mac 配置教程:自用配置详解与 iOS 版差异 Surge for iOS 配置教程:自用配置文件逐段详解(General / 策略组 / 规则) Mac小企鹅输入法+雾凇拼音配置指南:从安装到同步 Winodws 双网卡实现内外网分流 VSCode 配置Ruff Cursor修改垂直布局 Clash Party/Clash Verge Rev/Sparkle 覆写与扩展脚本指南 解决 WSL2 与 Tunnel 模式网络冲突:MTU 设置妙招 Mihomo 配置教程:从零写一份完整配置文件(DNS / TUN / 分流规则详解) TUN 模式详解:System / gVisor / Mixed 三种堆栈的区别与选择 解决MoviePy保存视频时的视频质量降低问题 Tailscale+Headscale+自建Derp踩坑记录 解决Moviepy剪辑视频画面卡帧,但有声的问题 Surge Or Mihomo通过WireGuard回家 重装系统 -- Windows11 Win10/11配置fnm:解决PowerShell脚本运行受限问题 Ai 原画系统 基于社交媒体大数据的智慧政务系统 Miniconda安装教程 建立菲律宾台风损害模型
Doker-compose 网络互通
yyhhyyyyyy · 2024-05-02 · via yyhhyyyyyy

这两天由于购入halo pro,关注到飞致云旗下还有个1Panel,因此打算将服务也全部迁到1Panel,刚好有个可视化面板。

踩坑1:

1Panel默认开启了WAF(哪怕没有购入1Panel专业版也开启),会导致halo有一系列不正常现象。因此,第一件事情,需要将WAF关闭。

具体配置如下:

waf

踩坑2:

接下来就是迁移服务咯,迁移one-api的时候出现了个问题,就是容器之间网络不互通。

查看1Panel-容器-网络

docker

可以看到1panel的docker网络信息,采用的是bridge的形式。

因为one-api需要使用到mysql、redis,因此,先提前在1panel-数据库下进行相关数据库安装:

network

安装完成后查看下这两个数据库容器的信息:

docker-network

可以看到,其网段都在 192.168.96.0/20 这个网段下,并且其映射的地址为 127.0.0.1,也就是只能在这个网段下进行访问,其他网段是不可以进行访问的

开始编写 compose,只写需要网络信息的地方

environment:
  - SQL_DSN=aaa:123@tcp(db:3306)/one-api
  - REDIS_CONN_STRING=redis://redis:6379
  - SESSION_SECRET=yyhhyy
  - TZ=Asia/Shanghai

可以看到,上面的连接都是用指代的 db redis 用来指代服务器的ip地址。

我先后尝试用 localhost 以及他们分别对应的 容器ip进行编写都不行

最后学习了一套写法,仅供参考(以下为完整、可解析的 compose 片段):

services:
  one-api:
    environment:
      - SQL_DSN=aaa:123@tcp(1Panel-mysql-X3XP:3306)/one-api # 将 db 修改成 mysql 容器名称
      - REDIS_CONN_STRING=redis://1Panel-redis-QTio:6379 # 将 redis 修改成 redis 容器名称
      - SESSION_SECRET=yyhhyy
      - TZ=Asia/Shanghai
    networks:
      - 1panel-network # 将 one-api 放入与数据库相同的网络
networks:
  1panel-network:
    external: true # 使用已存在的网络

解释:

  1. 网络配置one-api服务现在使用 1panel-network网络,这个网络需要是一个已经存在的网络,通过 external: true指明。

  2. 环境变量中的连接字符串

    • SQL_DSN现在使用 1Panel-mysql-X3XP这个服务名称进行连接。
    • REDIS_CONN_STRING同样使用 1Panel-redis-QTio作为服务名称。

    也就是分别使用同一网段下的容器名填写即可。

至此,问题解决

不同容器通信技巧:

情形一:

两个容器 都在 同一个docker网络组中

如果两个容器都在同一个docker网络组中,直接在需要网络通信的地方,使用 <容器名>:<容器端口>

情形二:

两个容器 不在 同一个docker网络组中

那么使用 <容器使用的网络模式的网关>:<宿主机端口(也就是映射端口)> 即可