Error processing tar fileのエラーが発生
UbuntuなどLinuxでDockerを使っていると、権限関係が割と厄介ですよね!
Macだとそこらへんをうまくやってくれるので気にしなくいいのですが、Linuxだとちょっと面倒です!
今回もその権限関係でのエラーですが、発生したエラー文言からすぐに権限関係のエラーと分からなかったため、備忘録として掲載しておきます!
発生したエラー
- Docker/MySQLを起動
- Docker/MySQLを停止
- Docker/MySQLを再度起動
上記の手順を踏むと、以下のエラーが発生しました。
Error processing tar file(exit status 1): unexpected EOF
原因
ボリュームのマウント時に権限が適切でないため起こっているみたいです。
以下のように、マウントしているボリュームをlsしてみると権限がおかしくなっていました。
$ ls -l docker/mysql/
合計 8
drwxr-xr-x 6 999 999 4096 8月 16 11:29 data
対処方法
マウントしているディレクトリ配下を適切な権限にすればちゃんと起動できました!
以下のコマンドで権限を変更できます。
$ sudo chown -R [ユーザ]:[グループ] [マウントしているボリューム]
コマンド例
コマンド例は以下です。
ユーザ:ubuntu、グループ:ubuntu、マウントしているボリューム:docker/mysql/data/を指定しています。
$ sudo chown -R ubuntu:ubuntu docker/mysql/data/
[ユーザ]:[グループ]には、Dockerを実行するユーザとグループを指定してください。
ユーザとグループは以下のコマンドで確認できます。
$ id
まとめ
いかがでしたでしょうか。
この記事を見ていただいている方は、Linuxで同じエラーが出たのかもしれませんね!
一見エラー内容からするとパッと見で分からなかったのでぜひ参考にしてください!
コメント