创建覆盖安装到 /var/lib/docker/overlay2/ 时出错

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

我收到以下错误消息:

{“changed”:false,“msg”:“创建容器时出错:500 服务器错误: 内部服务器错误(“创建覆盖安装时出错 /var/lib/docker/overlay2/e17accf17aa46c9d12dbc4da10e399121b476698039cdcf54a5bb42443ffc260-init/merged: 无效参数")"}

docker信息如下:

Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 1
Server Version: 1.13.1
Storage Driver: overlay2
Backing Filesystem: <unknown>
Supports d_type: true
Native Overlay Diff: false
Logging Driver: journald
Cgroup Driver: systemd
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Authorization: rhel-push-plugin
Swarm: inactive
Runtimes: oci runc
Default Runtime: oci
Init Binary: /usr/libexec/docker/docker-init-current
containerd version: 1556cce7e5c5349fdffeb123c092a7681769866a (expected: aa8187dbd3b7ad67d8e5e3a15115d3eef43a7ed1)
runc version: 1556cce7e5c5349fdffeb123c092a7681769866a-dirty (expected: 9df8b306d01f59d3a8029be411de015b7304dd8f)
init version: N/A (expected: 949e6facb77383876aeff8a6944dde66b3089574)
Security Options:
seccomp
 WARNING: You're not using the default seccomp profile
 Profile: /etc/docker/seccomp.json
selinux
Kernel Version: 4.18.7-200.fc28.x86_64
Operating System: Fedora 28 (Server Edition)
OSType: linux
Architecture: x86_64
Number of Docker Hooks: 2
CPUs: 24
Total Memory: 94.34 GiB
Name: xxxxxx.com
ID: U63T:T7ZF:HWDJ:4NKZ:YUW2:KO6W:7RI5:Y6MY:VKSQ:DJSL:FGD5:QMZS
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: true
Registries: docker.io (secure), registry.fedoraproject.org (secure), quay.io (secure), registry.access.redhat.com (secure), registry.centos.org (secure), docker.io (secure)

这里备份文件系统显示未知。如何将其更改为 xfs 或其他相关的工作?

docker filesystems
6个回答
23
投票

我可以通过在 Docker 中恢复出厂设置来解决此问题。

Docker for Mac -> 故障排除(它是“设置”图标旁边的“bug”图标) -> 重置出厂默认值


7
投票
$ vim /etc/docker/daemon.json

{

"max-concurrent-uploads": 1

}

$ service docker restart

发布它以防对某人有帮助。 我和码头工人也有同样的问题。它无法将图像推送到 GCR。以上能够解决我的问题。


3
投票

首先,我想你可以使用

/var/lib/docker/overlay2
检查
xfs_info
目录是否可以支持
overlay2

举个例子,

$ xfs_info /var/lib/docker/overlay2 | grep ftype
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1

如果输出是

ftype=1
,那么可以支持
overlay2

希望对您有帮助。 :^)


1
投票

这可能是因为 daemon.json 不存在而发生。要创建它,您可以执行以下步骤:打开“Docker 桌面”>“首选项”>“Docker 引擎”> 在“通过键入 json Docker 守护进程配置文件配置 Docker 守护进程”下编辑文本编辑器>“应用并重新启动”。


0
投票

我刚刚遇到了同样的问题。我通过将 docker 使用的磁盘卷类型更改为

Ext4
或通过
Ext4
 中的此命令将路径更改为 
docker.service

卷来修复此问题

ExecStart=/usr/bin/dockerd --graph /new-path/docker


0
投票

我试图使用

docker-compose
通过
--context
从 Windows 部署一个 Nodejs 应用程序到 debian VPS,但遇到了同样的问题,显然没有任何原因

我尝试了上面所有的解决方案,清除了图像缓存和构建缓存,但仍然没有任何效果,然后我发现我的桌面版本的docker自动升级了,所以我决定也在我的VPS中升级docker,一切都运行顺利。

所以我猜这是因为 docker 内部构建过程发生了一些变化,一些与存储驱动程序有关的变化,导致了版本之间的重大变化,但我不确定。我希望这至少可以帮助找到更具体的解决方案。

这是我在 debian 中升级 docker 的指南 https://docs.wavemaker.com/learn/on-premise/upgrade/docker-upgrade/

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