はじめに
勉強とアウトプットを兼ねて、Webアプリ開発の記録を記事にしてみます。
個人のメモ的な側面が強いです。
Web開発初心者すぎて至らぬところだらけだと思いますが、暖かい目で見ていただければ幸いです。
↓ これまでの内容 ↓
【Day0】アプリが完成するまで毎日投稿
【Day1】開発環境を考える
【Day2】開発環境を構築する、、、はずでした
【Day3】まずはフロントだけ開発環境を構築する
【Day4】バックエンドの開発環境を整えつつ、マルチコンテナ対応のDevcontainerにする
【Day5】お試し実装!ファイルをアップロードしてバックエンドで処理する
【Day6】Docker Desktopが起動しなくなり泣きながら原因調査する
【Day7】画像にフレームとExif情報を付けてみる
前回のあらすじ
バックエンドで受け取った画像の加工処理を実装しました。
今回やったこと
画像を処理中の時にステータスメッセージを表示させるようにしました。
また、ブラウザ上に表示する画像のサイズも小さくしました。
今日は力尽きてしまい、これでおしまい、、、
気づいたこと
backendコンテナからfrontendコンテナに切り替えたらDevcontainerで接続時に以下のエラーが出ました。
[8142 ms] Start: Run in container: /bin/sh -c chown -R devuser:devuser /home/devuser/workspace
chown: '/home/devuser/workspace/frontend/package.json' の所有者を変更中: 許可されていない操作です
(中略)
chown: '/home/devuser/workspace' の所有者を変更中: 許可されていない操作です
[8578 ms] postStartCommand from devcontainer.json failed with exit code 1. Skipping any further user-provided commands.
書いてある通り、DevcontainerでpostStartCommandとして実行しているchown -R devuser:devuser /home/devuser/workspace
というコマンドがうまくいってないみたいですね。
確かにworkspace以下を参照してみると、フォルダの所有者がdevuserになっていないですね。
frontendでもDockerfile内でdevuserにsudoを付与してるんですけどね、、、
ためしにコンソールでsudo chown -R devuser:devuser /home/devuser/workspace
と手動で実行してみたら権限が変わりました。
ただ、おかしいことにfrontendのコンテナにリモートアクセスしているはずなのに、frontendのサーバーが自動で起動してて、backendのサーバーが立ってない。
でもコンテナ自体はNodeのもので、Python用の環境設定はない。
どういうこと???
改めてfrontendのコンテナをRebuild without cecheしたら元通りになりました。。。Docker難しい。。。。
おわりに
今日はフロントの実装にしました。
Docker周りでまた躓きました。初心者が一番詰まるのは開発環境構築ですね。泣