docker-compose で Error processing tar file(exit status 1): unexpected EOF

docker

エラーの内容

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

これを試しても直らなかった。

ただどうやら、ワークディレクトリにパーミッションが変なファイルがあると発生するみたい。

こんな感じでマウントしていたので、

  db:
    image: mysql:5.7
    volumes:
      - ./etc/docker/mysql/data:/var/lib/mysql
      - ./etc/docker/mysql/conf.d:/etc/mysql/conf.d

解決方法

以下のように権限を書き換えて、解決。

% sudo chown -R  `whoami` etc/docker/mysql/

そういえば、Linuxのdockerって権限周りが変になるんだよなぁ。。。以前、Cloud9で試したときにそうだった。

追記

  • 再発した。
  • dockerの再起動、/var/lib/dockerの削除、OSの再起動などを試しても駄目だった。
  • Ubuntu 18.04.1 LTS

  • こんなエラーも出たのだが、

  • dockerグループにユーザを追加しても駄目。
  • sudo使えば利用可能。
  • 仕方が無いので、Ubuntu 18を使うことを諦める。
$ docker-compose build
ERROR: Couldn't connect to Docker daemon at http+docker://localhost - is it running?
If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
  • Amazon Linux 2を使ったら全く問題無かった。
    • amzn-ami-hvm-2018.03.0.20180811-x86_64-gp2
    • 相変わらず、dockerでマウントしてwriteしたファイルはroot権限になってしまっているが。(まぁ、これは、dockerのvolumeを使うようにして回避しよう)

コメント