gpt4 book ai didi

docker - 从docker compose中的网络别名中删除服务名称

转载 作者:行者123 更新时间:2023-12-02 19:44:52 24 4
gpt4 key购买 nike

docker-compose1.yml

services:
app1:
(...)
networks:
- my_network

db:
(...)
networks:
- my_network

networks:
my_network:
name: my_network
还有docker-compose2.yml
services:
app2:
(...)
networks:
- my_network

db:
container_name: "db2"
(...)
networks:
my_network:
aliases:
- replace_db_alias_please
networks:
my_network:
external: True
$ docker inspect db2
(...)
"Networks": {
"my_network": {
"Aliases": [
"8c2da47d1e8e",
"db",
"replace_db_alias_please"
],
}
}
故事是我需要将此服务放在同一网络中,网络名称 db 含糊不清。如何在不更改服务名称的情况下从一项服务 中删除该别名?

最佳答案

我非常有信心不能删除默认别名。根据您的特定用例,您可以尝试以下操作之一:

  • 为两种db服务添加别名,并且完全不使用默认别名以避免歧义。
  • 如果仅应由相应的应用程序访问db实例,则可以创建内部网络:

  • docker-compose1.yml
    version: "3.5"

    services:

    app1:
    networks:
    - my_network
    - internal

    db:
    networks:
    - internal

    networks:
    my_network:
    name: my_network
    internal:
    internal: true
    docker-compose2.yml
    version: "3.5"

    services:

    app2:
    networks:
    - my_network
    - internal

    db:
    networks:
    - internal

    networks:
    my_network:
    external: true
    internal:
    internal: true

    关于docker - 从docker compose中的网络别名中删除服务名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64135222/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com