docker 注册表日志可爱的变化

问题描述 投票:0回答:1

我正在尝试在创建注册表容器时更改 docker 注册表的日志级别。

docker run -d -p 5000:5000 --restart=always --name registry -e LOG_LEVEL=debug registry:2

当我运行以下命令查看日志时,它仅提供信息级日志

docker logs registry
time="2023-12-21T20:07:44.13670802Z" level=warning msg="No HTTP secret provided - generated random secret. This may cause problems with uploads if multiple registries are behind a load-balancer. To provide a shared secret, fill in http.secret in the configuration file or set the REGISTRY_HTTP_SECRET environment variable." go.version=go1.20.8 instance.id=607dce47-0f7b-4959-9818-d859fc71a566 service=registry version=2.8.3 
time="2023-12-21T20:07:44.136763361Z" level=info msg="redis not configured" go.version=go1.20.8 instance.id=607dce47-0f7b-4959-9818-d859fc71a566 service=registry version=2.8.3 
time="2023-12-21T20:07:44.136831792Z" level=info msg="using inmemory blob descriptor cache" go.version=go1.20.8 instance.id=607dce47-0f7b-4959-9818-d859fc71a566 service=registry version=2.8.3 
time="2023-12-21T20:07:44.136998129Z" level=info msg="listening on [::]:5000" go.version=go1.20.8 instance.id=607dce47-0f7b-4959-9818-d859fc71a566 service=registry version=2.8.3 
time="2023-12-21T20:07:44.137039251Z" level=info msg="Starting upload purge in 55m0s" go.version=go1.20.8 instance.id=607dce47-0f7b-4959-9818-d859fc71a566 service=registry version=2.8.3 

我也尝试过以下命令,但它仍然显示信息级别

 docker run -d -p 5000:5000 --restart=always --name registry -e REGISTRY_LOG_LEVEL=debug registry:2
docker docker-registry
1个回答
0
投票

简短回答:您应该能够使用名为

LOG_LEVEL
的环境变量来设置
REGISTRY_LOG_LEVEL
:

docker run -d -p 5000:5000 --restart=always --name registry -e REGISTRY_LOG_LEVEL=debug registry:2

长答案:虽然维护者的指导通常是使用配置文件而不是修改环境变量,但文档确实表明应该可以修改默认配置值,而无需通过制作一个非常具体命名的文件来修改默认配置值。与配置键/值对所属层次结构相对应的环境变量:

要覆盖配置选项,请创建一个环境变量 命名为

REGISTRY_variable
,其中
variable
是名称 配置选项,
_
(下划线)代表缩进 水平。例如,您可以配置 文件系统存储后端:
rootdirectory

要覆盖此值,请设置一个环境变量,如下所示:

storage: filesystem: rootdirectory: /var/lib/registry

此变量将 
REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY=/somewhere

值覆盖到

/var/lib/registry
目录。

再次参考上面链接的文档页面,您可能希望设置一个名为
/somewhere

的环境变量。在您的

REGISTRY_LOG_LEVEL=debug
命令的上下文中,它看起来与您之前的非常相似:
docker run

© www.soinside.com 2019 - 2024. All rights reserved.