[Swagger権限エラー]dockerで権限のあるフォルダにアクセスしようとするとエラーになる件

error

こんにちは。KOUKIです。

Swaggerを使おうとして、下記のエラーに悩まされました。

このエラーの解決策を記述します。

環境

  • MAC
  • Docker
  • Swagger(docker image latest)

何をしたのか

公式サイトを参考にDockerでswaggerを利用しようとしました。

そして、下記のコマンドを押下したところ、表題のエラーが発生したというわけです。

解決策

dockerが操作しようとしている「.cache」フォルダはHOME配下にあるフォルダです。このフォルダにはdockerではアクセスできないようです。

しかし、便利なことに「XDG_CACHE_HOME」に書き込み権限があるフォルダやファイルを指定するとこの現象を回避できます

XDG_CACHE_HOMEは環境変数であり、freedesktop.orgという規格に準拠したアプリケーションはこの環境変数に指定されたパスをキャッシュとして利用するようになるらしいです。

キャッシュのパスを/tmp/.cacheにしました。私の環境ではこれで解決しました。

まとめ

dockerはとても便利ですが、こういう時には若干不便を感じますね^^;

プログラミングをしているとエラーばかりで、中々前に進まない時があります。

そうした時は一旦席から離れて、周囲を散歩しつつ、コーヒーブレイクを入れると結構いい感じで解決することがあるので、ぜひ試してください^^

swaggerは、OpenAPIとも呼ばれており、プログラミングコードやdocumentの自動生成ができるみたいなので、これから積極的に使っていきたいです!

それでは、また!

Goまとめ

学習記録

コメントを残す