docker - docker compose 项目名称去除下划线、点等
问题描述
我对此进行了一些搜索,并设法在 github 中找到了一些问题,但没有解决方案。
我的撰写文件是:
version: "3.4"
services:
mariadb:
...
redis:
...
当我跑
docker-compose -f docker-compose.yaml -p name_1.0
然后docker ps,容器名称是:
- name10_mariadb_1
- name10_redis_1
我还认为名称有长度限制,并且从某个长度开始修剪名称。
有解决方法吗?我希望能够在容器名称中包含一些标点符号,特别是点和下划线。
解决方案
docker-compose 的默认命名约定是<project>_<service>_<index>[_<slug>]
. 没有配置参数,但既然docker-compose
是pyhton
项目,你可以尝试一些黑客攻击。
生成名称的函数build_container_name
在service.py中定义。
...
...
def build_container_name(project, service, number, slug=None):
bits = [project.lstrip('-_'), service]
if slug:
bits.extend(['run', truncate_id(slug)])
else:
bits.append(str(number))
return '_'.join(bits)
...
...
推荐阅读
- google-apps-script - 使用谷歌表格脚本编辑器自动填写谷歌表单时如何修复代码401?
- vim - 如何在vim中切换窗口位置
- python - python -m textblob.download_corpora => 没有名为 textblob 的模块
- python - 过滤器中的其他情况下的Django案例
- pyspark - 在 Pyspark 中,如何将值列表作为新列添加到现有 Dataframe?
- php - 致命错误:未捕获错误:updateMax 函数中不支持的操作数类型
- c# - 当光标进入图片框时,在标签中增加分数
- r - Xgboost - 如何制作取决于另一列的值以及错误的自定义损失函数
- java - 我应该生成随机数,但是如果你运行它,我会得到更多的重复,这是自然的还是我搞砸了?
- linux - 性能不精确的调用图报告