在debian上安装docker – overlayfs不支持'overlay'

我为我的构buildpipe道创build了一个docker镜像,我试图运行docker build -t someTag .

但是,我得到这个错误。

 DEBU[0000] Listener created for HTTP on unix (/var/run/docker.sock) INFO[0000] libcontainerd: new containerd process, pid: 1026 DEBU[0000] Permission denied writing "-500" to /proc/1026/oom_score_adj DEBU[0000] containerd: grpc api on /var/run/docker/libcontainerd/docker-containerd.sock DEBU[0000] containerd: read past events count=0 DEBU[0000] containerd: supervisor running cpus=2 memory=976 runtime=docker-runc runtimeArgs=[] stateDir="/var/run/docker/libcontainerd/containerd" DEBU[0000] libcontainerd: containerd health check returned error: rpc error: code = 14 desc = grpc: the connection is unavailable DEBU[0001] Permission denied writing "-500" to /proc/self/oom_score_adj DEBU[0001] Using default logging driver json-file DEBU[0001] Golang's threads limit set to 6840 DEBU[0001] [zfs] zfs command is not available: exec: "zfs": executable file not found in $PATH ERRO[0001] 'overlay' is not supported over overlayfs DEBU[0001] Using graph driver vfs DEBU[0001] Max Concurrent Downloads: 3 DEBU[0001] Max Concurrent Uploads: 5 INFO[0001] Graph migration to content-addressability took 0.00 seconds INFO[0001] Loading containers: start. DEBU[0001] Option Experimental: false DEBU[0001] Option DefaultDriver: bridge DEBU[0001] Option DefaultNetwork: bridge WARN[0001] Running modprobe bridge br_netfilter failed with message: , error: exec: "modprobe": executable file not found in $PATH WARN[0001] Running modprobe nf_nat failed with message: ``, error: exec: "modprobe": executable file not found in $PATH WARN[0001] Running modprobe xt_conntrack failed with message: ``, error: exec: "modprobe": executable file not found in $PATH DEBU[0001] Fail to initialize firewalld: Failed to connect to D-Bus system bus: dial unix /var/run/dbus/system_bus_socket: connect: no such file or directory, using raw iptables instead DEBU[0001] /usr/sbin/iptables, [-t nat -D PREROUTING -m addrtype --dst-type LOCAL -j DOCKER] DEBU[0001] /usr/sbin/iptables, [-t nat -D OUTPUT -m addrtype --dst-type LOCAL ! --dst 127.0.0.0/8 -j DOCKER] DEBU[0001] /usr/sbin/iptables, [-t nat -D OUTPUT -m addrtype --dst-type LOCAL -j DOCKER] DEBU[0001] /usr/sbin/iptables, [-t nat -D PREROUTING] DEBU[0001] /usr/sbin/iptables, [-t nat -D OUTPUT] DEBU[0001] /usr/sbin/iptables, [-t nat -F DOCKER] DEBU[0001] /usr/sbin/iptables, [-t nat -X DOCKER] DEBU[0001] /usr/sbin/iptables, [-t filter -F DOCKER] DEBU[0001] /usr/sbin/iptables, [-t filter -X DOCKER] DEBU[0001] /usr/sbin/iptables, [-t filter -F DOCKER-ISOLATION] DEBU[0001] /usr/sbin/iptables, [-t filter -X DOCKER-ISOLATION] DEBU[0001] /usr/sbin/iptables, [-t nat -n -L DOCKER] DEBU[0001] /usr/sbin/iptables, [-t nat -N DOCKER] DEBU[0001] start clean shutdown of all containers with a 15 seconds timeout... DEBU[0001] Cleaning up old mountid : start. DEBU[0001] Cleaning up old mountid : done. 

这里是我的Dockerfile安装Dockerfile的信息。 我在这里find了这些步骤。

 FROM debian:latest ENV DEBIAN_FRONTEND noninteractive ENV JENKINS_HOME /var/jenkins_home USER root WORKDIR $JENKINS_HOME RUN apt-get update RUN apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg2 \ software-properties-common -y RUN curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - RUN apt-get install -y iptables RUN wget https://download.docker.com/linux/debian/dists/jessie/pool/stable/amd64/docker-ce_17.06.0~ce-0~debian_amd64.deb RUN dpkg -i docker-ce_17.06.0~ce-0~debian_amd64.deb 

我曾经尝试过:

我曾尝试启动dockerd 。 从我最好的猜测,它看起来像我需要dockerd开始。

 root@90302deb48a0:/var/jenkins_home# ps -ef | grep docker root 6 1 0 14:47 ? 00:00:00 grep docker 

我已经看着更新

我试过更新我的iptables

 root@e898473347a2:/var/jenkins_home# apt-get install -y iptables Reading package lists... Done Building dependency tree Reading state information... Done iptables is already the newest version (1.6.0+snapshot20161117-6). 0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded. 

我已经证实我是root而且这些目录是由root拥有的。

 root@e898473347a2:/var/jenkins_home# whoami root 

我试图研究在哪里发表。 请告诉我,如果这需要移动到别的地方。 如果这不归类为“编程”,我会善意提出。

这听起来像你正在试图在Docker(DinD)中做Docker。 它需要一些黑客和更改存储驱动程序(你不能覆盖重叠)。 有关更多信息,请参阅https://github.com/docker-library/docker/tree/master/17.06/dind中的Dockerfile和入口点脚本。 它具有关于何处获取dind脚本以及运行dockerd所需的入口点更改的dockerd

不过,Docker Hub上有官方的dind标记的图片,你可能比较好。 请参阅https://hub.docker.com/_/docker/ 。 如果您需要定制,您可以使用图像docker:17.05.0-dind或将您的图像放在其上。