最近チーム開発で新しいプロジェクトが始動し、Dockerで環境構築のタスクをやらせて頂きました。その時に、Dockerをビルドしようとしたら OSError: Can not read file in context ~
という見たこともないエラーが起きて途方にくれたので同じ道をたどる方が少しでもいなくなるように、ここで共有させて頂きます。
【環境】
- Rails 6.0.3
- Ruby 2.7.1
- PostgreSQL 13.0
- Node.js 10.21.0
- Yarn 1.22.5
- Bundler 2.1.4
- Redis 6.0.8
- Docker for window
- windows10 Pro
##解決方法
いきなりですが、解決方法です。めっちゃ簡単です。
どうやらエラー文を読んでいたらnode_modulesディレクトリが悪さをしていたらしかったので、.dockerignoreファイルを作成し、そこに
node_modulesと書いてビルドしなおしたらうまくいきました!
node_modules
##感想
Dockerって一度作ったら環境使いまわせるし、チーム開発では一人が作ってしまえばまったく同じ環境をすぐ再現できるのでめちゃくちゃ便利ですね!
でも、知識不足が故に他人のDockerfile丸パクリでビルドしてもうまくいかずエラーと格闘することが多いです、、、正直プログラミングそのものよりも環境構築とか、バージョンの依存関係で発生するエラーとかの方が何倍も時間かかりますね、、
##最後まで読んでいただきありがとうございます!
ご指摘や、感想などあればコメントいただけると嬉しいです!!