代码之家  ›  专栏  ›  技术社区  ›  Niklas R

处理tar文件时出错(退出状态1):当数据目录存在时,使用docker compose生成时出现意外的EOF

  •  1
  • Niklas R  · 技术社区  · 6 年前

    我的 docker-compose.yml

    version: '3'
    services:
      phab:
        build:
          context: .
          args:
            - PHAB_BASE_URI=https://phab.example.com
            - PHAB_REPO_PATH=/var/repo
            - PHAB_TIMEZONE=Europe/Berlin
            - PHP_POST_MAX_SIZE=32MB
        ports:
          - "127.0.0.1:8012:80"
        volumes:
          - ./.data/repos:/var/repo
          - ./.data/mysql:/var/lib/mysql/
    

    如果我在启动容器后试图重建,我会

    $ docker-compose build
    Building phab
    ERROR: Error processing tar file(exit status 1): unexpected EOF
    

    这似乎是由于 .data 目录。我找到的唯一“解药”是删除或移动目录 外部 .data1 把它修好。

    $ sudo mv .data .data1
    $ docker-compose build
    Building phab
    ERROR: Error processing tar file(exit status 1): unexpected EOF
    $ sudo mv .data1 ..
    $ docker-compose build
    Building phab
    Step 1/27 : FROM tutum/lamp:latest
    ---> 3d49e175ec00
    Step 2/27 : RUN apt-get update && apt-get install -y php5-curl php5-mysqlnd php5-gd python3-pygments
    ---> Using cache
    [ ... ]
    

    我正在使用docker compose 1.18.0,build 8dd22a9 abd docker 18.06.0-ce,build 0ffa825 on Debian 9.5。


    我看到这个问题了 Docker ERROR: Error processing tar file(exit status 1): unexpected EOF . 不过只是冲 /var/lib/docker 目录对我来说不是一个选项。删除未使用的映像,甚至在生成之前删除基础映像,都不能解决此问题。

    1 回复  |  直到 6 年前
        1
  •  1
  •   BMitch    6 年前

    尝试升级到昨天刚刚发布的18.09版本。构建期间的“意外EOF”看起来像18.06中的已知问题: https://github.com/moby/moby/pull/37771

        2
  •  1
  •   SAKSHI GOYAL    5 年前

    我也有同样的问题。以下步骤解决了这个问题:

    systemctl stop docker 
    

    2.)备份/var/lib/docker。

    3.)删除/var/lib/docker。

    sudo rm -rf /var/lib/docker
    

    4.)启动Docker服务。

    systemctl start docker