首页 文章

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

提问于
浏览
2

我正在尝试从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移到文件的顶部,然后再次,那就是WORKED,但是下一个命令( ENV DEBIAN_FRONTEND noninteractive )导致了同样的失败 . 那简直怪异......

有任何想法吗?

(旁注:当从ubuntu映像运行容器并手动执行所有命令时,一切都运行良好......)

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

1 回答

  • 1

    好吧,我解决了 . 有点 . 我不知道为什么这个问题真的引起了(如果有人这样做,请告诉我,我很好奇),但这里是如何解决的:而不是设备映射器文件系统,这似乎是问题的根源,我创建了一个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 .

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

相关问题