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 含糊。如何从 不更改服务名称的情况下从一项服务中删除该别名?
答案 0 :(得分:1)
我非常确定无法删除默认别名。根据您的特定用例,您可以尝试以下操作之一:
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