スキップしてメイン コンテンツに移動

投稿

注目の投稿

【Day 11】ポインタとしてのブランチと切り替え(branch / switch)

最近の投稿

【Day 13】コンテナのログ確認とデバッグ(logs, inspect, top) 〜標準出力のリアルタイム追跡とリソース監視術〜

▲ Day 13: コンテナのログ確認とデバッグ(logs, inspect, top) 🐳 皆さん、こんにちは! Docker/コンテナ実践講座の専任講師です。 前回【Day 12】では、コンテナの状態確認( ps )、安全な停止( stop )、破棄( rm )の基本ライフサイクルを学びました。 本日は第13回として、開発やトラブルシューティングの現場で最も頻繁に叩くことになる 「コンテナのログ確認とデバッグ(logs, inspect, top)」 を徹底解説します! Windowsイベントビューアーやサーバー上のログファイルを手動で探していたベテランの方ほど、Dockerの標準出力ストリームと診断コマンドの圧倒的な快適さに驚かれるはずです! ① 導入・本日の達成目標 「バックグラウンド( -d )で起動したコンテナが正しく動いているか、どうやって確かめるのか?」 「HTTP 500エラーが発生したとき、C#アプリのエラーログはどこに出力されているのか?」 「コンテナのIPアドレスや割り当てられたポート番号、CPU消費量はどう調べるのか?」 これらはすべて、Dockerが標準で提供する診断コマンド群( logs , inspect , stats , top )によって手元のターミナルから1発で把握できます。 本講義のゴールは以下の3点です。 docker logs -f を使い、コンテナ内部の標準出力を手元のターミナルへリアルタイムストリーミング監視できるようになる。 docker inspect を活用し、コンテナのIPアドレス・環境変数・ボリューム設定をピンポイントで調査・抽出できるようになる。 docker stats & docker top により、タスクマネ...

【Day 10】ローカルでの作業取り消し(restore / reset基本)

👨‍🏫 皆さん、こんにちは! 本講座の専任講師です。 C#でプログラミングをしていると、「ちょっと試作してみたコードが動かなくなったから、作業前の綺麗な状態に戻したい!」「間違って関係ないファイルまでステージングしてしまった!」という場面、日常茶飯事ですよね。 Subversion (SVN) 歴30年のエンジニアにとって、「作業の取り消し=右クリックして『Revert』」というのは身体に染み付いた反射神経のような操作でした。 ところが、Gitを触り始めたベテランがコンソールで思わず git revert と打ってしまい、「あれっ!? 変なコミットが作られた!?」「作業中の変更が消えてない!?」と大混乱に陥るトラブルが後を絶ちません。 本日は第10回として、 「Gitにおけるローカル作業取り消しの新標準 git restore」 を徹底解説します! SVNのRevertとの決定的な違い、ステージングの安全な解除、TortoiseGitでのGUI操作、そしてAIエージェント生成コードの即時ロールバックまで、現場で身を守る必須テクニックを完全網羅します! ① 導入・本日の達成目標 「元に戻す」という操作は、開発のスピードと心理的安心感を支える極めて重要なセーフティネットです。 しかしGitには「作業ツリー」「ステージ領域」「コミット履歴」という3つの階層があるため、 「自分がどこにある変更を取り消したいのか」 によって使うべきコマンドが明確に分かれています。 本日の講義でマスターするゴールは以下の3点です! 作業ツリーの変更破棄( git restore <file> ) と ステージ解除( git restore --staged <file> ) の使い分けを完全習得する。 SVNの...

【Day 12】コンテナの状態確認とライフサイクル(ps, stop, start, rm)

▲ Day 12: コンテナの状態確認とライフサイクル(ps, stop, start, rm を完全制覇) 🐳 皆さん、こんにちは! Docker/コンテナ実践講座の専任講師です。 前回(Day 11)は、たった1行の docker run コマンドでNginxや.NETコンテナが爆速起動する感動を味わっていただきました。 しかし、長年Hyper-VマネージャーやVMware vSphere、あるいはWindowsの「サービス管理ツール(services.msc)」でサーバーを管理してきたベテランの皆様なら、当然こう疑問に思うはずです。 「いま動いているコンテナはどう一覧確認するのか?」「停止と削除は何が違うのか?」「安全に終了させないとデータが壊れたりしないのか?」 本日は、コンテナ運用で最も頻繁に叩く4大基本コマンド ps , stop , start , rm を通じて、コンテナの「完全なライフサイクル(生成・稼働・停止・破棄)」と現場のプロの整理術を徹底解説します! ① 導入・本日の達成目標 仮想マシンの世界では「OSをシャットダウンしても、仮想マシン定義や仮想HDD(VHDX)は管理画面に残り続ける」のが当たり前でした。 一方、Dockerコンテナは「軽量なプロセス」であると同時に「ファイルシステムの変更差分」を保持する実体でもあります。 「停止したはずのコンテナがディスクを圧迫していた」「コンテナ名が重複して新しいアプリが起動できない」といった現場トラブルの9割は、この 「ライフサイクルと状態管理の基本」 を押さえていないことが原因です。 本日の講義を終える頃には、以下の3つの目標を完全にクリアできるようになります。 docker ps と docker ps -a の違い...

【Day 11】最初のコンテナ起動(docker run hello-world から nginx まで)

▲ Day 11: 最初のコンテナ起動(docker run hello-world から nginx・.NETまで) 🐳 皆さん、こんにちは! Docker/コンテナ実践講座の専任講師です。 第1部・第2部を通じて、Dockerの概念理解と開発環境(WSL2、VS Code、Git)の準備を完璧に整えた皆様、いよいよ本日から 【第3部:Docker基本コマンドとコンテナ操作】 の実践ステージに突入します! 物理サーバーのセットアップやVMware/Hyper-VでのOSインストール、あるいはWindows Serverの「役割と機能の追加」からIISを導入してWebサーバーを立ち上げる作業には、これまで数十分〜数時間がかかっていました。しかしDockerなら、 たった1行のコマンドを叩くだけで、わずか数秒後に世界最高速のWebサーバー(Nginx)が手元で稼働を始めます。 本日は、コンテナライフの第一歩である docker run の内部メカニズム、通信の要である「ポートマッピング」、そしてMicrosoft公式の.NETコンテナの起動までを一気通貫で体得しましょう! ① 導入・本日の達成目標 「黒い画面(CLI)で docker run と打てば動くのは知っているけれど、裏側で一体何が起きているのか?」 「なぜブラウザからアクセスするために -p 8080:80 という謎の数字を書かなければいけないのか?」 仕組みをブラックボックスにしたままコマンドを丸暗記してしまうと、ポートの競合やバックグラウンドプロセスの停止など、現場のトラブルに直面した際に立ち往生してしまいます。 本日の講義を終える頃には、以下の3つの目標を完全にクリアできるようになります。 docker run が裏側で実行する3ステップ(ローカル確認 ➡ 自動p...

【Day 10】Git for WindowsとDockerの共存(改行コードCRLF問題とパーミッション)

▲ Day 10: Git for WindowsとDockerの共存 / 改行コードCRLF問題とパーミッション完全対策 🐳 皆さん、こんにちは! Docker/コンテナ実践講座の専任講師です。 Windows上で長年Visual StudioやC#を使い倒し、堅牢なエンタープライズシステムを構築してきたベテランの皆様、心より歓迎いたします! Windows開発者がDockerコンテナ(Linux世界)へ踏み出したとき、 「ほぼ100%の確率で最初に遭遇し、半日〜数日を溶かす最大の落とし穴」 が存在します。それが 「改行コード(CRLF / LF)問題」 と 「ファイル実行権限(パーミッション)」 の壁です。 「ファイルは間違いなく存在するのに、なぜか ./entrypoint.sh: not found と言われてコンテナが起動しない……」という不可解な現象を、本日はGitの仕組みと合わせて根本から完全撲滅しましょう! ① 導入・本日の達成目標 WindowsとLinuxは、根本的なファイルシステムの思想や改行の表現方式が異なります。 従来のように「Windowsマシンだけで完結するC#開発」を行っている間は、この違いを意識する必要はほとんどありませんでした。 しかし、 「WindowsでソースコードやDockerfileを編集し、Linuxコンテナ内で実行する」 というハイブリッド環境においては、不可視の1文字や1ビットの差異が致命的な停止障害を引き起こします。 本日の講義を終える頃には、以下の3つの目標を完全にクリアできるようになります。 CRLFとLFのバイナリ差異 を理解し、Linuxコンテナでスクリプトが落ちる根本原因(シバンの誤認識)を完全特定できる。 個人のPC設定( core.autocrlf )に...