gpt4 book ai didi

docker - 在 docker-compose.yml 中设置网桥名称

转载 作者:行者123 更新时间:2023-12-05 01:09:15 24 4
gpt4 key购买 nike

我正在运行一个 dockerized GitLab 实例启用了“userns-remap”,我想在主机上使用共享的 PostgreSQL。然而,当我 docker-compose up 时创建的桥在每次运行时都会获得一个新的随机名称“br-xxxxxxxxxxxx”。

这通常不是问题,但主机上的 Vuurmuur 防火墙默认会阻止从容器到主机的所有流量,我需要网桥名称才能在 Vuurmuur 上设置允许规则。

我发现了一些相关的主题,例如com.docker.network.bridge.name,但我无法将它们全部拼凑在一起。到目前为止,我试图找到一种方法来确保每次启动容器时,网桥都会获得相同的名称和分配的相同 IP/掩码。这在 docker-compose.yml 中是否可行,还是这种方法完全错误?

到目前为止,这是不起眼的 docker-compose.yml:

version: '3.8'
services:
web:
image: 'gitlab/gitlab-ce:latest'
restart: always
hostname: 'gitlab.example.com'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'https://gitlab.example.com'
gitlab_rails['db_adapter'] = 'postgresql'
gitlab_rails['db_host'] = '172.18.0.1'
(...)
ports:
- '8080:80'
volumes:
(...)

感谢任何提示!

最佳答案

该选项是网络 driver_opts 配置的一部分

$ cat docker-compose.yaml 
---
services:
sleep:
image: ubuntu
command: [sh, -c, "sleep infity"]
networks:
demo:
networks:
demo:
driver_opts:
com.docker.network.bridge.name: br-demo
$ docker-compose up -d
Creating network "tmp_demo" with the default driver
Creating tmp_sleep_1 ... done
$ brctl show
bridge name bridge id STP enabled interfaces
br-demo 8000.02423d13fd2a no
docker0 8000.02428a615bfa no

关于docker - 在 docker-compose.yml 中设置网桥名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65459275/

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