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

推荐订阅源

Google DeepMind News
Google DeepMind News
C
CERT Recently Published Vulnerability Notes
C
Cisco Blogs
Cloudbric
Cloudbric
The Last Watchdog
The Last Watchdog
L
LINUX DO - 热门话题
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Application and Cybersecurity Blog
Application and Cybersecurity Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Security Archives - TechRepublic
Security Archives - TechRepublic
TaoSecurity Blog
TaoSecurity Blog
V2EX - 技术
V2EX - 技术
H
Heimdal Security Blog
S
Security Affairs
L
Lohrmann on Cybersecurity
Hacker News - Newest:
Hacker News - Newest: "LLM"
Simon Willison's Weblog
Simon Willison's Weblog
WordPress大学
WordPress大学
小众软件
小众软件
Security Latest
Security Latest
AWS News Blog
AWS News Blog
Apple Machine Learning Research
Apple Machine Learning Research
GbyAI
GbyAI
Engineering at Meta
Engineering at Meta
阮一峰的网络日志
阮一峰的网络日志
罗磊的独立博客
F
Full Disclosure
S
Schneier on Security
L
LangChain Blog
MyScale Blog
MyScale Blog
Know Your Adversary
Know Your Adversary
P
Privacy International News Feed
Google Online Security Blog
Google Online Security Blog
Scott Helme
Scott Helme
Stack Overflow Blog
Stack Overflow Blog
爱范儿
爱范儿
A
Arctic Wolf
Martin Fowler
Martin Fowler
B
Blog RSS Feed
大猫的无限游戏
大猫的无限游戏
博客园 - 三生石上(FineUI控件)
The Register - Security
The Register - Security
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
博客园_首页
Latest news
Latest news
F
Fortinet All Blogs
G
GRAHAM CLULEY
T
The Exploit Database - CXSecurity.com
Hacker News: Ask HN
Hacker News: Ask HN

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网络组中

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