DockerでMySQL起動時にエラーが発生する(Ubuntu)

Docker

Error processing tar fileのエラーが発生

UbuntuなどLinuxでDockerを使っていると、権限関係が割と厄介ですよね!

Macだとそこらへんをうまくやってくれるので気にしなくいいのですが、Linuxだとちょっと面倒です!

今回もその権限関係でのエラーですが、発生したエラー文言からすぐに権限関係のエラーと分からなかったため、備忘録として掲載しておきます!

発生したエラー

  1. Docker/MySQLを起動
  2. Docker/MySQLを停止
  3. 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で同じエラーが出たのかもしれませんね!

一見エラー内容からするとパッと見で分からなかったのでぜひ参考にしてください!

オススメの関連商品

コメント