AliyunContainerService / image-syncer

Docker image synchronization tool for Docker Registry V2 based services
Apache License 2.0
877 stars 249 forks source link

镜像仓库凭证包含$导致解析问题 #147

Open TIEDPAG opened 7 months ago

TIEDPAG commented 7 months ago

Issue Description

Type: feature request 提供关闭凭证使用os.ExpandEnv的方式

Describe what feature you want

我们使用过程中遇到一个问题,当镜像仓库的帐号包含$时,如aaa$bbb,最终经过解析之后变为了aaa,翻查了一下代码 发现是使用了os.ExpandEnv导致的,不把凭证直接写入到文件确实是最佳实践,但是如果将凭证存储到环境变量时,一般是使用纯环境变量,而不是拼接的方式,我有以下建议:

Additional context

这里提供代码路径和截图: image-syncer/pkg/client image

veraicon commented 2 months ago

可以试试在配置文件中使用 \ 来escape掉 $ ,在os.ExpandEnv中他是起作用的。 例如 : 配置文件中的 'aaa$bbb' 改为 'aaa\$bbb'

TIEDPAG commented 2 months ago

可以试试在配置文件中使用 \ 来escape掉 $ ,在os.ExpandEnv中他是起作用的。 例如 : 配置文件中的 aaa$bbb 改为 aaa$bbb

似乎你发的被github页面转义了

veraicon commented 2 months ago

可以试试在配置文件中使用 \ 来escape掉 $ ,在os.ExpandEnv中他是起作用的。 例如 : 配置文件中的 aaa$bbb 改为 aaa$bbb

似乎你发的被github页面转义了

感谢,已修改。