【Docker入門 】② Webサーバ構築 & ホストのディレクトリ共有(ボリュームマウント)

DockerコンテナでWebサーバ構築 & ホストのディレクトリ共有

前回の記事でDockerのインストールとDocker imageのセットアップが出来るようになったら、
コンテナへWebサーバを構築してサイトやアプリケーションが実行出来るようしていきます。

環境: Mac 10.13.6、 Docker version 19.03.5

コンテナ〜ホスト間でディレクトリを共有する

Dockerコンテナ作成時にホスト側のディレクトリをボリューム(外部記憶装置)としてマウントし、
コンテナの外側からソースファイルの編集、サイトの開発が出来るようにします。

1. ホスト側で開発用ディレクトリを作成する

(作成したディレクトリをカレントにする)

2. コンテナの作成
※前回の記事でコンテナを作成している場合は異なるコンテナ名にするか、一度削除して作り直します。
docker runコマンドの-vオプションを使用する

-vオプションで指定したディレクトリ同士が共有ディレクトリとなります。
-v ホスト側のディレクトリパス : コンテナ側のディレクトリパス

ホスト側 → $(pwd) とするとカレントディレクトリが指定されます。
コンテナ側 → webサーバ(Apache)のドキュメントルートディレクトリ /var/www/html を指定しています。

マウント中のボリュームを確認する方法

コンテナへマウント中のホストのディレクトリの場所を後から確認したい時はコンテナの外から下記のコマンドを実行します。

表示される項目のうち、HostConfig “Binds”の箇所から同期しているホストのディレクトリが確認出来ます。

Webサーバ(Apache)を構築

WebサーバとしてApache HTTP Serverをセットアップします。
前回の記事で解説したように作成 & 起動したコンテナへ docker execコマンドでログインし、
Apacheのインストール & 起動を行います。

(Apacheの導入については下記を参照)

LAMP環境構築マニュアル ② Apacheインストール編

ディレクトリの共有を確認する

Apacheのインストールと起動が確認出来たら、
コンテナにログインした状態で妥当なwebページを/var/www/html 内に作成します。
(vi 新規ファイル作成)

コンテナとの接続を切る

接続を切ったら、コンテナ内で作成したファイルがカレントから参照出来ている事を確認します。

ホスト側からもテキストエディタ等で変更を加えて、ページへ反映されていればローカル開発環境の完成です。

Apacheが正常に起動中であれば
http://localhost/(ファイルパス) へアクセスしてブラウザで確認出来ます。

共有されたディレクトリ内はコンテナ側、ホスト側双方向から変更を行えます。
(変更は即座に反映されます)

Follow me!

【Docker入門 】② Webサーバ構築 & ホストのディレクトリ共有(ボリュームマウント)” に対して1件のコメントがあります。

この投稿はコメントできません。