Docker:获取日志时出错:查找值开头的字符“\x00”无效

jc3wubiy  于 2023-03-17  发布在  Docker
关注(0)|答案(5)|浏览(1403)

我升级了我的Docker版本到最新的,我得到了这个错误:
流中后台进程出错:获取日志时出错:查找值开头的字符“\x00”无效
我无法使用以下项读取日志:

docker-compose logs -f myservice

也不包括:

docker logs -f 6f454c73ff9c

Docker版本的输出:

Client:
 Version:      17.09.0-ce
 API version:  1.32
 Go version:   go1.8.3
 Git commit:   afdb6d4
 Built:        Tue Sep 26 22:42:18 2017
 OS/Arch:      linux/amd64

Server:
 Version:      17.09.0-ce
 API version:  1.32 (minimum version 1.12)
 Go version:   go1.8.3
 Git commit:   afdb6d4
 Built:        Tue Sep 26 22:40:56 2017
 OS/Arch:      linux/amd64
 Experimental: false

Docker信息的输出:

Containers: 11
 Running: 11
 Paused: 0
 Stopped: 0
Images: 8
Server Version: 17.09.0-ce
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 76
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
 Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 06b9cb35161009dcb7123345749fef02f7cea8e0
runc version: 3f2f8b84a77f73d38244dd690525642a72156c64
init version: 949e6fa
Security Options:
 apparmor
 seccomp
  Profile: default
Kernel Version: 4.4.0-97-generic
Operating System: Ubuntu 16.04.3 LTS
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 7.695GiB
Name: egmintel-desktop
ID: VB22:IXWI:GY6D:QPM4:SPHX:HYUP:OQN7:ZM55:LLKE:P3UU:XK7F:26TH
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Experimental: false
Insecure Registries:
 127.0.0.0/8
Live Restore Enabled: false

WARNING: No swap limit support
My docker-compose version:
docker-compose version 1.16.1, build 6d1ac21

我还注意到我的一个容器工作不正常(但我看不到错误,因为我无法读取日志),我需要重新启动Docker服务,以便我的容器再次开始工作。
有什么办法解决这个问题吗?谢谢!

slmsl1lt

slmsl1lt1#

只需删除~/.docker/目录

lmvvr0a8

lmvvr0a82#

events.log文件似乎已损坏。请尝试删除以下文件
1.“/var/运行/停靠器/库容器/容器/事件日志”
1.通过init.d重新启动docker

t0ybt7op

t0ybt7op3#

使用Windows Docker桌面
故障排除-〉重置为出厂默认值
这解决了我的问题。

kgsdhlau

kgsdhlau4#

对于Windows,您需要删除位于%USERPROFILE%\.docker\contexts文件夹及其子目录中的0x00字节的json文件。

r7xajy2e

r7xajy2e5#

解决方法可能是清除损坏的日志文件。
日志仍然可以被读取(通过cat或vim),只是docker不能处理它

命令

  • 获取日志路径
docker inspect --format='{{.LogPath}}' YOUR_CONTAINER
  • 清除日志

清除之前,请根据需要进行备份

:> THE_LOG_PATH

https://stackoverflow.com/a/42510314/4896468

相关问题