我正在尝试使用 docker-compose 在我的 raspberry pi 3 上设置 redmine(使用 postgres)。它已经工作过一次,但后来我尝试安装插件并以某种方式设法使我的系统崩溃。
现在它不再让我启动我的数据库容器。即使创建一个新postgres:12.8容器,也会产生错误layer does not exist:
$ docker run --rm -it postgres:12.8 bash
docker: Error response from daemon: layer does not exist.
Run Code Online (Sandbox Code Playgroud)
我已经重新启动系统两次,遗憾的是没有改变任何东西。我怎样才能让它再次工作?
附加信息:
$ docker info
Client:
Debug Mode: false
Server:
Containers: 5
Running: 4
Paused: 0
Stopped: 1
Images: 65
Server Version: 19.03.13
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 8fba4e9a7d01810a393d5d25a3621dc101981175
runc version: dc9208a3303feef5b3839f4323d9beb36df0a9dd
init version: fec3683
Security Options:
seccomp
Profile: default
Kernel Version: 4.19.66-v7+
Operating System: Raspbian GNU/Linux 9 (stretch)
OSType: linux
Architecture: armv7l
CPUs: 4
Total Memory: 926.1MiB
Name: raspberrypi
ID: <redacted>
Docker Root Dir: /var/lib/docker
Debug Mode: false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
WARNING: No swap limit support
WARNING: No cpu cfs quota support
WARNING: No cpu cfs period support
Run Code Online (Sandbox Code Playgroud)
更新1:
删除图像(通过docker rmi)并不能阻止错误。
$ docker run --rm -it postgres:12.8 bash
Unable to find image 'postgres:12.8' locally
12.8: Pulling from library/postgres
Digest: sha256:e10cd754296c1b3e93a121bcc64550d183df56f20bab47e08cacb123fb969b5e
Status: Downloaded newer image for postgres:12.8
docker: Error response from daemon: layer does not exist.
See 'docker run --help'.
Run Code Online (Sandbox Code Playgroud)
其他图像可以照常运行:
$ docker run --rm -it alpine bash
Unable to find image 'alpine:latest' locally
latest: Pulling from library/alpine
4ee0caa23b36: Pull complete
Digest: sha256:eb3e4e175ba6d212ba1d6e04fc0782916c08e1c9d7b45892e9796141b1d379ae
Status: Downloaded newer image for alpine:latest
/ # whoami
root
/ #
Run Code Online (Sandbox Code Playgroud)
Sim*_*n L 14
Nuking/var/lib/docker似乎让系统再次工作 - 这会删除所有图像和许多其他与 docker 相关的数据。
这感觉不是一个很好的解决方案,但现在必须这样做。
$ sudo service docker stop
$ docker ps
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
$ sudo rm -rf /var/lib/docker
$ sudo service docker start
$ docker run --rm -it postgres:12.8 bash
Unable to find image 'postgres:12.8' locally
12.8: Pulling from library/postgres
607f77084e8a: Pull complete
ce89a6184ac9: Pull complete
2a4e6e7ac863: Pull complete
f3b6f439172b: Pull complete
2e803a3461b4: Pull complete
467430f26cab: Pull complete
1a81afc37621: Pull complete
4ceea61b7b5c: Pull complete
1f5bfa96a004: Pull complete
b40859b8e537: Pull complete
c7b3bf3cab26: Pull complete
653c63793cd5: Pull complete
aad7328542d8: Pull complete
Digest: sha256:e10cd754296c1b3e93a121bcc64550d183df56f20bab47e08cacb123fb969b5e
Status: Downloaded newer image for postgres:12.8
root@8ba418515688:/#
Run Code Online (Sandbox Code Playgroud)
参考:
AP2*_*P22 11
我遇到以下错误,重新启动 docker 守护进程似乎可以修复它。仍然想知道是什么原因造成的。
level=error msg="POST /v1.41/containers/create 的处理程序返回错误:层不存在"
要重新启动 docker 守护进程,请运行:
sudo systemctl restart docker
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18276 次 |
| 最近记录: |