docker 注册表日志级别更改

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

我正在尝试在创建注册表容器时更改 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
2个回答
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



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

-e REGISTRY_LOG_LEVEL=debug

但是,您似乎没有做任何会生成任何调试日志的事情。请注意,除了信息和警告级别之外,打开调试日志记录还会添加日志,但仍然需要执行一些操作来生成日志:

docker run --rm -p 5001:5000 -e REGISTRY_LOG_LEVEL=debug registry:2

这些日志是通过启动注册表后运行以下命令生成的:

$ docker run --rm -p 5001:5000 -e REGISTRY_LOG_LEVEL=debug registry:2 time="2023-12-24T12:27:31.556627862Z" 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.16.15 instance.id=7d6185c4-16b5-4b69-99f1-03a82988b830 service=registry version="v2.8.1+unknown" time="2023-12-24T12:27:31.55666679Z" level=info msg="redis not configured" go.version=go1.16.15 instance.id=7d6185c4-16b5-4b69-99f1-03a82988b830 service=registry version="v2.8.1+unknown" time="2023-12-24T12:27:31.556724277Z" level=info msg="Starting upload purge in 19m0s" go.version=go1.16.15 instance.id=7d6185c4-16b5-4b69-99f1-03a82988b830 service=registry version="v2.8.1+unknown" time="2023-12-24T12:27:31.563643382Z" level=info msg="using inmemory blob descriptor cache" go.version=go1.16.15 instance.id=7d6185c4-16b5-4b69-99f1-03a82988b830 service=registry version="v2.8.1+unknown" time="2023-12-24T12:27:31.563766934Z" level=info msg="listening on [::]:5000" go.version=go1.16.15 instance.id=7d6185c4-16b5-4b69-99f1-03a82988b830 service=registry version="v2.8.1+unknown" time="2023-12-24T12:27:41.564927353Z" level=debug msg="filesystem.Stat("/")" go.version=go1.16.15 instance.id=7d6185c4-16b5-4b69-99f1-03a82988b830 service=registry trace.duration=137.428µs trace.file="/go/src/github.com/docker/distribution/registry/storage/driver/base/base.go" trace.func="github.com/docker/distribution/registry/storage/driver/base.(*Base).Stat" trace.id=b5fa783c-dbb9-4178-8213-1b3a09225973 trace.line=155 version="v2.8.1+unknown" fc00:1000::1 - - [24/Dec/2023:12:27:42 +0000] "GET /v2/ HTTP/1.1" 200 2 "" "docker/24.0.7 go/go1.20.10 git-commit/311b9ff kernel/5.10.0-19-amd64 os/linux arch/amd64 UpstreamClient(Docker-Client/24.0.7 \\(linux\\))" time="2023-12-24T12:27:42.701411636Z" level=debug msg="authorizing request" go.version=go1.16.15 http.request.host="localhost:5001" http.request.id=3bbd2d52-06a2-4b15-a0b7-9a4572952bde http.request.method=GET http.request.remoteaddr="[fc00:1000::1]:48298" http.request.uri="/v2/" http.request.useragent="docker/24.0.7 go/go1.20.10 git-commit/311b9ff kernel/5.10.0-19-amd64 os/linux arch/amd64 UpstreamClient(Docker-Client/24.0.7 \(linux\))" time="2023-12-24T12:27:42.701489002Z" level=info msg="response completed" go.version=go1.16.15 http.request.host="localhost:5001" http.request.id=3bbd2d52-06a2-4b15-a0b7-9a4572952bde http.request.method=GET http.request.remoteaddr="[fc00:1000::1]:48298" http.request.uri="/v2/" http.request.useragent="docker/24.0.7 go/go1.20.10 git-commit/311b9ff kernel/5.10.0-19-amd64 os/linux arch/amd64 UpstreamClient(Docker-Client/24.0.7 \(linux\))" http.response.contenttype="application/json; charset=utf-8" http.response.duration=1.829974ms http.response.status=200 http.response.written=2 time="2023-12-24T12:27:42.70634826Z" level=debug msg="authorizing request" go.version=go1.16.15 http.request.host="localhost:5001" http.request.id=5d881a0d-1deb-4f72-8396-8efb187485a6 http.request.method=HEAD http.request.remoteaddr="[fc00:1000::1]:48300" http.request.uri="/v2/no-such-image/manifests/latest" http.request.useragent="docker/24.0.7 go/go1.20.10 git-commit/311b9ff kernel/5.10.0-19-amd64 os/linux arch/amd64 UpstreamClient(Docker-Client/24.0.7 \(linux\))" vars.name=no-such-image vars.reference=latest time="2023-12-24T12:27:42.706462527Z" level=debug msg=GetImageManifest go.version=go1.16.15 http.request.host="localhost:5001" http.request.id=5d881a0d-1deb-4f72-8396-8efb187485a6 http.request.method=HEAD http.request.remoteaddr="[fc00:1000::1]:48300" http.request.uri="/v2/no-such-image/manifests/latest" http.request.useragent="docker/24.0.7 go/go1.20.10 git-commit/311b9ff kernel/5.10.0-19-amd64 os/linux arch/amd64 UpstreamClient(Docker-Client/24.0.7 \(linux\))" vars.name=no-such-image vars.reference=latest ...

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