gpt4 book ai didi

docker - docker-compose 网络名称的最大长度是多少?

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

在我们的 jenkins2 管道中,我们使用 docker-compose 进行一些测试,并且我们的 docker-compose 文件从分支名称 (git) 及其内部版本号的组合中获取其网络名称。

Jenkins 文件片段:

def version = "$BRANCH_NAME-$BUILD_NUMBER"
def networkName = "network-$version"
sh "NETWORK_NAME=$networkName docker-compose up -d"

docker-compose.yml 片段:

version: '3.5'
networks:
default:
name: ${NETWORK_NAME}
driver: bridge

看起来当我们有一个短分支名称时一切正常,而当我们有一个长分支名称时它会失败。

网络名在docker-compose中可以多长?我似乎无法在文档中找到它。有没有比获取分支名称更好的解决方案来获取唯一的网络名称?

我已经试过了,但不知何故它似乎完全矫枉过正:

echo $(git rev-parse --abbrev-ref HEAD) | md5 | cut -f1 -d" "

将给出 md5 结果。

最佳答案

因此,在几天后没有得到答案后,我自己进行了一些经验测试,发现不同的操作系统是不同的。我想为遇到同样问题的其他人写下我的答案。

这是我发现的:

  • mac 上的 docker mac 可以有很长的网络名称,甚至可以有 / 字符
  • 一些 Linux 发行版可以有 16 个字符(例如 CentOs)和其他 15 个字符(例如 Ubuntu)。
  • 无法在 Windows 上测试,因为我没有可用的

因此,如果您想保存并让您的 docker-compose.yml 在不同的环境中工作,您应该坚持使用最大长度为 15 个字符的网络名称。

还使用了这个答案:What length can a network interface name have?

关于docker - docker-compose 网络名称的最大长度是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53449304/

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