【Ubuntu + Nginx】Docker イメージの作成手順

Windows

Docker イメージの作成手順

以前、投稿した記事で Docker イメージを使用し簡単な Web サイトを構築する手順を解説いたしました。



その中で紹介した手順では、httpd イメージを使って Web サイトを構築していました。したがって、Web サーバは Apache となります。
しかし、Web サーバには Nginx を使う方も多いと思いますので、今回は、Ubuntu イメージに Nginx をインストールしたオリジナルの Docker イメージを作成する手順を解説したいと思います。

なお、今回は Dockerfile を使って自動的に Docker イメージを作成する手順は含まれていません。Dockerfile を使った Docker イメージの作成手順に関しましては、別の記事でまとめていますので、よろしければこちらをご覧ください。



スポンサーリンク

スポンサーリンク

スポンサーリンク

Docker イメージの準備

まず、作成するイメージを準備する手順を解説いたします。

今回は Ubuntu イメージに Nginx をインストールした Docker イメージを作成します。そのため、Ubuntu イメージをダウンロードし、Nginx をインストールするまでが準備となります。
なお、Docker イメージの準備は、Windows PowerShell(以下、PowerShellと呼びます)から実行いたします。


Ubuntu イメージのインストールとコンテナの作成

Ubuntu イメージのインストールとコンテナの作成手順を解説します。



前提として、イメージやコンテナには何も設定していない状態から開始いたします。
なお、以下は「Docker Desktop for Windows」のダッシュボードから、Docker イメージとコンテナを確認した画面イメージです。何も設定されていないことがわかります。

画像クリックで拡大画像を表示します
画像クリックで拡大画像を表示します



PowerShell を起動し、Ubuntu イメージをインストールするため、以下のコマンドを実行します。

docker pull ubuntu:latest
画像クリックで拡大画像を表示します
画像クリックで拡大画像を表示します





「docker」ウィンドウからイメージを確認します。

画像クリックで拡大画像を表示します

「ubuntu」という名前のイメージがインストールできました。




次に、コンテナを作成するため、以下のコマンドを実行します。

docker run -it -d -p 8080:80 --name ubuntu ubuntu:latest
画像クリックで拡大画像を表示します
画像クリックで拡大画像を表示します




「docker」ウィンドウからコンテナを確認します。

画像クリックで拡大画像を表示します

ubuntu という名前のコンテナが作成できました。



「localhost:8080」にアクセスし、Web サイトの状況を確認します。

画像クリックで拡大画像を表示します

Nginx のインストール前は、Web サイトとして機能していません。

そのため、「localhost:8080」にアクセスしても、エラーページが表示されます。



Nginx のインストール

続いて、作成したコンテナに Nginx をインストールする手順を解説いたします。


作成したコンテナに接続するため、以下のコマンドを実行します。

docker exec -it ubuntu bash
画像クリックで拡大画像を表示します
画像クリックで拡大画像を表示します


コンテナへ接続するユーザーは「root」です。



次に、現在のタイムゾーンを確認するため、以下のコマンドを実行します。

date
画像クリックで拡大画像を表示します

タイムゾーンは「協定世界時」に設定されています。



次に、Nginx をインストールするため、以下のコマンドを実行します。

apt update && \
export DEBIAN_FRONTEND=noninteractive && \
apt install -y tzdata && \
ln -fs /usr/share/zoneinfo/Asia/Tokyo /etc/localtime && \
dpkg-reconfigure --frontend noninteractive tzdata && \
apt install -y nginx
画像クリックで拡大画像を表示します
画像クリックで拡大画像を表示します


apt install -y nginx で Nginx をインストールした場合、インストール中にタイムゾーンの選択を求められるため、タイムゾーンを Asia/Tokyo に変更しつつ、Nginx のインストールを実行します。



次に、再度、現在のタイムゾーンを確認するため、以下のコマンドを実行します。

date
画像クリックで拡大画像を表示します

タイムゾーンが「日本標準時」に変更されました。



次に、Nginx を起動するため、以下のコマンドを実行します。

nginx
画像クリックで拡大画像を表示します



「localhost:8080」にアクセスし、Web サイトの状況を確認します。

画像クリックで拡大画像を表示します

Nginx が実行しています。

Web サイトにアクセスすると Nginx のデフォルトページが表示されます。




Docker イメージの作成

Nginx をインストールしたコンテナが作成でましたので、続いては、Docker イメージの作成手順を解説いたします。


コンテナの停止

ポート番号の重複を避けるため、「Nginx のインストール」で作成したコンテナを停止します。
そのため、以下のコマンドを実行しコンテナを停止します。

docker stop ubuntu
画像クリックで拡大画像を表示します
画像クリックで拡大画像を表示します



「docker」ウィンドウからコンテナを確認します。

画像クリックで拡大画像を表示します

コンテナが正常に停止されました。


docker ps コマンドを実施した場合でも、コンテナの状態を確認することができます。

また、停止中のコンテナを開始するには、docker start [コンテナ名] を実施します。




Docker イメージとコンテナの作成

続いて、Docker イメージとコンテナの作成手順を解説いたします。


Docker イメージを作成するため、以下のコマンドを実行します。

docker commit ubuntu ubuntu-customize-image
画像クリックで拡大画像を表示します
画像クリックで拡大画像を表示します



「docker」ウィンドウからイメージを確認します。

画像クリックで拡大画像を表示します

「ubuntu-customize-image」という名前のイメージが作成できました。



次に、コンテナを作成するため、以下のコマンドを実行します。

docker run -it -d -p 8080:80 --name ubuntu-customize-container ubuntu-customize-image
画像クリックで拡大画像を表示します
画像クリックで拡大画像を表示します



「docker」ウィンドウからコンテナを確認します。

画像クリックで拡大画像を表示します

「ubuntu-customize-container」という名前のコンテナが作成できました。



「localhost:8080」にアクセスし、Web サイトの状況を確認します。

画像クリックで拡大画像を表示します

Nginx が起動されていないため、Web サイトとして機能していません。

そのため、「localhost:8080」にアクセスしても、エラーページが表示されます。



Nginx の起動

続いて、Web サイトを機能させるため Nginx を起動します。


作成したコンテナに接続するため、以下のコマンドを実行します。

docker exec -it ubuntu-customize-container bash
画像クリックで拡大画像を表示します
画像クリックで拡大画像を表示します



次に、Nginx を起動するため、以下のコマンドを実行します。

nginx
画像クリックで拡大画像を表示します



「localhost:8080」にアクセスし、Web サイトの状況を確認します。

画像クリックで拡大画像を表示します

Nginx が実行しています。

Web サイトにアクセスすると Nginx のデフォルトページが表示されます。




Docker イメージとコンテナの削除

最後に、Docker イメージとコンテナの削除手順を解説いたします。


作成したコンテナを削除するため、以下のコマンドを実行します。

docker rm ubuntu
画像クリックで拡大画像を表示します



「docker」ウィンドウからコンテナを確認します。

画像クリックで拡大画像を表示します

「ubuntu」という名前のコンテナが削除されました。



次に、インストールしたイメージを削除するため、以下のコマンドを実行します。

docker rmi ubuntu
画像クリックで拡大画像を表示します



「docker」ウィンドウからイメージを確認します。

画像クリックで拡大画像を表示します

Ubuntu イメージが削除されました。



なお、以下のコマンドを実行することで、「Docker イメージとコンテナの作成」で作成したイメージやコンテナを削除することもできます。

# コンテナの削除
docker rm ubuntu-customize-container

# イメージの削除
docker rmi ubuntu-customize-image


コンテナを削除する前にコンテナの停止が必要となります。



まとめ

以上が、Ubuntu イメージに Nginx をインストールしたオリジナルの Docker イメージの作成手順となります。

いかがでしたでしょうか?

Docker イメージを作成するうえでもっともポピュラーな方法は、Dockerfile を作成し、その Dockerfile をもとに Docker イメージを作成する手順だと思います。

しかし、いきなりその手順では理解することができない部分もあるかと思い、Docker を理解するためにも1つ1つコマンドを実行して Docker イメージを作成する記事をまとめましました。

もし、本稿を読み Docker を学び始めた方の理解につながれば幸いです。

次回は、Dockerfile を使った Docker イメージの作成方法を解説したいと思います。




本稿をご覧になっていただいている読者様の中で、もし、インフラエンジニアを目指している方、もしくはインフラエンジニアに興味がある方がいらっしゃれば、スクールで学ぶことも「あり 」です。
いくつかインフラ系の技術が学べるスクールをピックアップいたしましたので、ご検討の一助となれば幸いです。

 スクール  受講料  受講期間  ポイント
ササエル 19,800円 14レッスン 初級のインフラエンジニアに特化したオンラインスクールです。インフラエンジニアを目指すなら、まずはここから!?
98,000円 15レッスン 初級の次は中級も学べます。
TechAcademy [テックアカデミー] 174,900円(※1) 4週間プラン コースにより、若干、インフラ要素あり。また、学べる言語が細分化されているので、目的に合ったコースが選べます。
【CCNAコース ウズウズカレッジ】 33,000円/月 1ヶ月~ 応募資格を満たしていれば、無料特待プランで受講料が無料!?
初心者OK!KENスクール 187,000円(※2) 50時間 ネットワークコースのLinuxレベル1取得講座。Webサーバーの構築まで学べます。
119,900円(※2) 30時間 ネットワークコースのWindows Server構築講座。クライアントOSの管理操作を学べます。
※1.フロントエンドコースの料金です。学生の場合、料金は163,900円と割引があります。
※2.スクール提携企業特別割引の場合、受講料が10~15% OFF、入会金無料。学生割引特典の場合、全講座料金 20% OFF。





最後までお読みいただきありがとうございました。


では。


スポンサーリンク

スポンサーリンク

Windows
スポンサーリンク
たまおをフォローする
スポンサーリンク
たまーのテクノロジー
タイトルとURLをコピーしました