- Dockerfile
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
FROM node:18.18-alpine WORKDIR /var/www/app # install packages RUN apk update && \ apk upgrade && \ apk add --update --no-cache \ bash \ tzdata \ vim COPY package.json yarn.lock ./ RUN yarn install EXPOSE 3000 CMD ["yarn","dev"] |
- Error
1 2 3 4 5 6 |
$ docker logs 5xxxxxxxxx yarn run v1.22.19 $ next dev /bin/sh: next: not found error Command failed with exit code 127. info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command. |
docker-composeでリポジトリ配下をマウントした状態かつ、Dockerfileにyarn installと記載された状態で実行するとnode_modules配下が消えてコンテナが起動しなくなってしまう。動作的にはbuild中にコンテナ内にyarn installでnode_modules配下にインストールされるが、完了時にリポジトリ配下をマウントして上書きされてしまうので、削除される流れとなる。対応策としては以下。
- 新たなvolumeを作成
1 2 3 4 5 6 7 8 |
volumes: - ~/www/hoge:/var/www/app:delegated - node_modules:/var/www/app/node_modules tty: true ~省略~ volumes: node_modules: |
volumeを指定することで、マウントよりvolumeが優先されるので削除されることはないが、フロントの修正がある場合はコンテナ内でyarn installする必要がある。
Was this helpful?
0 / 0
1989年生まれのSRE。ホスティングから大規模なアドテクなどのインフラエンジニアとして携わる。現在はサービスの信頼性向上、DevOps、可用性、レイテンシ、パフォーマンス、モニタリング、オブザーバビリティ、緊急対応、AWS/Azureでのインフラ構築、Docker開発環境の提供、Kubernetes保守、インフラコード化、新技術の検証、リファクタリング、セキュリティ強化などを担当している。個人事業主では数社サーバー保守とベンチャー企業のSREインフラコンサルティングやMENTAで未経験者にインフラのコーチング/コミュニティの運用を実施している。また、「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/技術広報/テクニカルサポート/コントリビュータでもある。