gpt4 book ai didi

ubuntu -/dev/mapper/docker-202 上的未知文件系统类型

转载 作者:行者123 更新时间:2023-12-02 18:33:14 25 4
gpt4 key购买 nike

我正在尝试从 Dockerfile 构建一个 docker 镜像。该文件运行如下:

FROM ubuntu:14.04

ENV DEBIAN_FRONTEND noninteractive
ENV HOME=/home/root
ENV GOPATH=$HOME/go
ENV PATH=$PATH:/usr/local/go/bin:$HOME/go/bin

RUN mkdir -p $HOME
RUN apt-get -y install wget
RUN apt-get -y install git

一切正常,直到安装 wget。它似乎确实成功完成了,但紧接着 "Running hooks in /etc/ca-certificates/update.d....done." docker 抛出以下错误:
INFO[0032] Unknown filesystem type on /dev/mapper/docker-202:1-145547-28276018...

然后构建停止。我试图注释掉 wget 安装,但是在 git 安装时发生了同样的事情。
然后我注释掉了整个文件,除了 wget 行,这很奇怪。这显然对我没有多大帮助,因为文件的其余部分很重要......
然后,我尝试查看哪一行是有问题的行,但似乎在 apt-get 之前执行的每个命令都会在 apt-get 之后立即导致此失败。

因此,我将 apt-get 移至文件顶部,再次运行,但下一个命令( ENV DEBIAN_FRONTEND noninteractive )导致同样的失败。这简直太奇怪了……

有任何想法吗?

(旁注:从 ubuntu 镜像运行容器并手动执行所有命令时,一切正常......)

编辑 22.07.15:我忽略了在 AWS EC2 实例(版本 3.4.73-64.112.amzn1.x86_64)上运行构建时会发生这种情况。当我使用 Ubuntu 14.04 在本地虚拟机上运行完全相同的东西时,构建成功且没有错误。

最佳答案

嗯,我解决了。有点。我不知道为什么确实会导致问题(如果有人这样做,请告诉我,我很好奇),但解决方法如下:
我创建了一个 btrfs 文件系统,而不是设备映射器文件系统,这似乎是问题的根源,docker 似乎对此非常满意。

这些是我采取的步骤:

我首先将一个新卷添加到我的 EC2 实例(2GB 通用 SSD)。 This是这样做的一个非常好的指南。

现在我开始从设备映射器切换到 btrfs:

sudo service docker stop
sudo rm -rf /var/lib/docker
sudo mkfs.btrfs -f -O ^extref -L docker /dev/xvdf # The extref option is not fully supported and causes all kinds of trouble, which is why I disabled it
sudo echo "/dev/xvdf /var/lib/docker btrfs defaults 0 0" >> /etc/fstab
sudo mount /dev/xvdf /mnt

现在我通过编辑文件 /etc/sysconfig/docker 将 docker 配置为使用 btrfs像这样:
Options="-s btrfs"

当我启动服务( sudo service docker start )时,我可以通过运行 docker info 看到,表示切换成功: Storage Driver: btrfs .

我再次运行构建,它就像一个魅力:)

关于ubuntu -/dev/mapper/docker-202 上的未知文件系统类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31568223/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com