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

推荐订阅源

Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
aimingoo的专栏
aimingoo的专栏
C
Check Point Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
D
Docker
N
Netflix TechBlog - Medium
罗磊的独立博客
F
Full Disclosure
I
InfoQ
酷 壳 – CoolShell
酷 壳 – CoolShell
T
Tailwind CSS Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
The Register - Security
The Register - Security
The GitHub Blog
The GitHub Blog
U
Unit 42
Microsoft Security Blog
Microsoft Security Blog
Webroot Blog
Webroot Blog
Apple Machine Learning Research
Apple Machine Learning Research
T
Threatpost
博客园 - 【当耐特】
C
Cybersecurity and Infrastructure Security Agency CISA
P
Privacy International News Feed
Simon Willison's Weblog
Simon Willison's Weblog
T
Threat Research - Cisco Blogs
Y
Y Combinator Blog
P
Proofpoint News Feed
B
Blog RSS Feed
G
GRAHAM CLULEY
Last Week in AI
Last Week in AI
Martin Fowler
Martin Fowler
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Cisco Talos Blog
Cisco Talos Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
P
Palo Alto Networks Blog
博客园 - 三生石上(FineUI控件)
Recent Announcements
Recent Announcements
P
Privacy & Cybersecurity Law Blog
Know Your Adversary
Know Your Adversary
I
Intezer
Engineering at Meta
Engineering at Meta
博客园 - 聂微东
L
LangChain Blog
B
Blog
雷峰网
雷峰网
K
Kaspersky official blog
S
Secure Thoughts
Security Latest
Security Latest
D
Darknet – Hacking Tools, Hacker News & Cyber Security
S
Security @ Cisco Blogs
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org

PixelNest

会议是效率的杀手 国庆出游记录 对居家办公的一些想法 2022 春节 《搏击俱乐部》的结局 纪念 PAI 头一回达到 100 卡片笔记法 《刑法学讲义》的部分摘录 迁移博客 《UNIX 传奇》摘录 就地过年 近期读的几本书 办新身份证 git 获取其他分支的单个文件或目录 我的高考成绩 推荐 2020 年上半年的 8 部影视作品 ChromeOS 开发者模式 终于下单了《守望者》 联通来电管家服务 一些实用的 bash 代码片段 关于 鸟枪换炮 《架构整洁之道》摘录 惨淡的星球大战 旧笔记本电脑 if...then... 命令行检测 SSL 证书过期时间 《程序员的职业素养》读书笔记 2019 国庆假期 在 Ubuntu 里按空格键预览 《基本穿搭》笔记 我在 Ubuntu 里安装的一些软件 让人郁闷的英语学习过程 色彩理论基础 向百度主动推送网站链接 两部电视剧 《历史的教训》摘录 新工具 Koa 获取客户端 IP 备案了 apiDoc 基础语法 《代码整洁之道》摘录 BBC 纪录片 《逻辑的乐趣》 读不下去的《原则》 蓝牙鼠标唤醒休眠的 Ubuntu Google 发布会 2018 国庆假期 开发者的时间追踪和统计 使用 curl 发送 POST 请求的几种方式 《重来 2》读书笔记 Linux 和 MacOS 命令行转换图片用法整理 《Go 语言实战》笔记 Win10 微软拼音添加小鹤双拼以及其他配置 针对不同场景临时禁用 eslint 规则的方法 《好妈妈胜过好老师》读书笔记 配置 Win10 Linux 子系统作为开发环境 又读完一本尤·奈斯博的小说 近期写 Go 的一点语法碎片整理 ffmpeg 合并 MP4 M4A 文件 睡前看手机的大问题 《局外人》读书笔记 菊次郎与佐纪 读书笔记 3 菊次郎与佐纪 读书笔记 2 菊次郎与佐纪 读书笔记 1 豆瓣图片服务器防盗链 《如何有效阅读一本书》读书笔记 - 3 《如何有效阅读一本书》读书笔记 - 2 《如何有效阅读一本书》读书笔记 - 1 Vim iskeyword 济南 图个乐 开始看不懂《西部世界》了 剧透 听到几个好故事 过周末 相亲 让人失望的 Apple 悬疑故事 AI 记忆 世纪三部曲 上帝的梦
一点记录:docker-compose 编排不同项目间的网络
2020-12-25 · via PixelNest

假设有项目 A,名为 awesome-project-a,运行两个容器,一个 web,一个数据库,由 docker-compose.yml 是这个样子

version: '3'
services:
    web:
        # ...
        # ...
    db:
        # ...
        # ...

由 docker-compose 把项目启动之后,会自动创建一个叫做 awesome-project-a_default 的 docker 网络。可以通过命令 docker network ls 查到这个新创建的网络,使用 docker network inspect awesome-project-a_default 查看有哪些容器在用这个网络。

官方文档:Use a pre-existing network

如果此时新加入一个项目 B,它需要跟项目 A 之间网络互通,但是由于一些原因,不能或者不想把项目 B 也写进上面的 docker-compose.yml,而是项目 B 单独维护一份 docker-compose.yml,项目 B 的 docker-compose.yml 中要指定 awesome-project-a_default 这个名字,具体写法如下:

version: '3'
services:
    # ...
    # ...

networks:
  default:
    external:
      name: awesome-project-a_default

如果要做地更细致一些,项目 B 只要能跟项目 A 的数据库——也就是 db 容器相通,但是要跟 web 容器隔离开,那就需要项目 A 的 db 容器和项目 B 在同一个网络。项目 A 的 docker-compose.yml 修改成:

version: '3'
services:
    web:
        # ...
        # ...
    db:
        # ...
        # ...
        networks:
            default:
            with-project-b:

networks:
    default:
    with-project-b:

不要忘记 default:,否则项目 A 的 web 和 db 就不通了。

别名

官方文档:aliases

容器默认的主机名是在 docker-compose.yml 中指定的服务名,比如项目 B 可以在它的容器内部通过 db 这个名字作为主机名去连接数据库,这时如果项目 B 希望通过一个更特别的名字,比如 db.from.a.local 去连它,这需要修改项目 A 的 docker-compose.yml,使用 aliases 功能给 db 容器加一个别名。

version: '3'
services:
    web:
        # ...
        # ...
    db:
        # ...
        # ...
        networks:
            default:
            with-project-b:
                aliases:
                    - db.from.a.local

networks:
    default:
    with-project-b:

也可以给一个容器在一个网络中设置多个别名。给一个容器在多个不同的网络中设置不同的别名,也是可以的。