docker-compose で Error processing tar file(exit status 1): unexpected EOF が出るとき
こんなエラーに遭遇しました。
$ docker-compose up -d api Building api ERROR: Error processing tar file(exit status 1): unexpected EOF
軽く調べた感じだと、これという決定的な情報は見つからず。 ただどうやら、ワークディレクトリにパーミッションが変なファイルがあると発生するみたい。 今回の環境の場合、 volumes でマウントした MySQL のデータファイルが変なパーミッションで作成されていた。
$ ll -d db-data drwxr-xr-x. 7 systemd-bus-proxy ssh_keys 4096 Mar 24 23:27 db-data
しかし、類似したパーミッションのファイルを手で作成してもエラーは再現しなかった。 前述のどのファイルが悪さしているのか、はたまた合計ファイルサイズでおかしくなるのか、よくわからないけど、とりあえずファイルを消すかファイルが読める状態にしてあげると動くようになった。
$ sudo chown -R 1000:1000 db-data [sudo] password for ikasamak: $ ll -d db-data drwxr-xr-x. 7 ikasamak ikasamak 4096 Mar 24 23:27 db-data $ docker-compose up -d api Building api Step 1/10 : FROM php:5.6-apache 5.6-apache: Pulling from library/php f2b6b4884fc8: Downloading [=============================> ] 31.35 MB/52.61 MB 8db887c45800: Download complete 6e0e41c52c70: Downloading [=============> ] 20.49 MB/76.35 MB (以下略)