モダナイゼーションで、すべてのサービスを一度に置き換えることは稀です。このチャレンジ形式のプロジェクトでは、コンテナ化 Web 試行、ホスト上のデータベース、Nginx ゲートウェイ、Apache レガシーエンドポイントからなるローカル混成スタックを運用します。
Docker へのコンテンツの bind mount、MariaDB アカウントの単一 DB への制限、準備済み内部アプリへのプロキシ、Apache .htaccess による旧 URL の維持を実践します。ポート競合を避けてコンテナとホストサービスを協調させる課題です。
学習内容
web-pilotというnginx:alpineコンテナを bind mount と8080:80のポート公開で実行する- MariaDB を導入・起動し、
globaltech_dataを作成してapp_user@localhostにその DB の権限を与える - ホスト Nginx のポート
80で/を準備済みサービス127.0.0.1:5000へプロキシする - Nginx 設定を検証して再読み込みし、公開エンドポイントからバックエンド内容を確認する
- Apache をポート
8081に移し、/legacyを配信して.htaccess上書きを許可する - Apache ルールで
/oldから/legacyへの301または302を実装・検証する
このコースの対象者
結果重視のチャレンジで Docker、MariaDB、Nginx、Apache を統合したい Linux・DevOps 学習者向けです。
前提知識: Docker 実行オプションと bind mount、Linux パッケージ・サービス、基本 SQL 権限、Web サーバー設定、ポート、curl。評価型プロジェクトです。
学習環境: sudo、Docker、APT、MariaDB、Nginx、Apache、ポート 5000 の準備済みバックエンド、ローカルネットワークを備えたブラウザー対応 Linux ホスト。クラウド不要です。
よくある質問
ここでのハイブリッドはハイブリッドクラウドや複数ノードですか?
いいえ。1 台のラボマシン上で Docker ワークロードとホストサービスを組み合わせます。クラウドや複数サーバーは構築しません。
MariaDB は Web アプリに接続しますか?
いいえ。DB、ローカルユーザー、パスワード、限定権限を個別に検証します。Schema、テーブル、Migration、アプリ接続は対象外です。
Nginx の背後のバックエンドを作りますか?
いいえ。127.0.0.1:5000 に模擬アプリが準備済みで、ポート 80 の Nginx から到達できるようにします。
Nginx と Apache が共存できるのはなぜですか?
Nginx は 80、Apache は 8081、Docker は 8080 と別ポートです。/old の転送は .htaccess に定義する必要もあります。





