Docker [for mac]文件系统变为只读,这破坏了Docker的几乎所有功能

art*_*ohe 2 perl docker dockerfile docker-compose docker-for-mac

我的Docker进入错误状态,无法再使用它。

输出docker system info

Containers: 14
Running: 2
Paused: 0
Stopped: 12
Images: 61
Server Version: 18.03.1-ce
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 macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: error
NodeID:
Error: open /var/lib/docker/swarm/worker/tasks.db: read-only file system
Is Manager: false
Node Address: 192.168.65.3
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 773c489c9c1b21a6d78b5c538cd395416ec50f88
runc version: 4fc53a81fb7c994640722ac585fa9ca548971871
init version: 949e6fa
Security Options:
seccomp
Profile: default
Kernel Version: 4.9.87-linuxkit-aufs
Operating System: Docker for Mac
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 1.952GiB
Name: linuxkit-025000000001
ID: MCSC:SFXH:R3JC:NU4D:OJ5V:K4B5:LPMJ:2BFL:LHT3:LYCI:XKY2:DTE6
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
HTTP Proxy: docker.for.mac.http.internal:3128
HTTPS Proxy: docker.for.mac.http.internal:3129
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
Run Code Online (Sandbox Code Playgroud)

在构建以下Dockerfile之后,会发生此行为:

从perl:5.20

运行apt-get更新&& apt-get安装-y libsoap-lite-perl \
&& rm -rf / var / lib / apt / lists / *

运行cpan SOAP :: LITE

当我尝试构建映像或运行容器或删除映像时,错误消息始终类似于以下内容:

Error: open /var/lib/docker/swarm/worker/tasks.db: read-only file system
Run Code Online (Sandbox Code Playgroud)

例如,如果我尝试执行以下命令:

docker container run -it perl:5.20 bash
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

docker: Error response from daemon: mkdir /var/lib/docker/overlay2/1b966e163e500a8c78a64e8d0f14984b091c1c5fe188a60b8bd030672d3138d9-init: read-only file system.
Run Code Online (Sandbox Code Playgroud)

我该如何重置我的码头工人,以使这些错误消失?

art*_*ohe 5

转到右上角的docker for mac图标,单击它,然后单击重新启动。之后,Docker将按预期工作。

这似乎是一个临时性的问题,因为在重启docker之后我无法重现它。我的猜测是,当docker尝试在Dockerfile中下载并安装软件包时,我发生了网络通信故障。