Docker · 1 min read · Nov 24, 2025

Docker: 実用的な使い方 - パート3

パート3: WordPressとDokuWikiコンテナを使ったノートパッドの作成

前書き

最初のパートでは、Dockerコンテナがどのように機能し、他のソフトウェア仮想化技術とどのように異なるかについて話しました。第2部では、Dockerコンテナを管理するためにシステムを準備しました。

このパートでは、Dockerイメージを使用し、実用的な方法でコンテナを作成します。言い換えれば、DokuWikiまたはWordPressの上で動作するウェブベースの高度な個人ノートパッドを作成します。どちらでもお好きな方を選んでください。

Dockerコンテナの実行方法

まず、Dockerエンジンが必要なように動作していることを確認するために、「Hello world」イメージをダウンロードし、それからコンテナを作成します。

イメージについて話すとき、それは一時停止状態を指し、コンテナについて話すとき、それはDockerイメージの実行時インスタンスを指します。以前のパートで話したアナロジーで言えば、DockerイメージはLinuxディストリビューションのISOファイルのようなものであり、コンテナはUSBメモリから実行しているかのようにISOファイルのライブセッションです。

「Hello world」イメージをダウンロードして実行するには、ターミナルに次のように入力します。

sudo docker run hello-world

このコマンドはHello Worldイメージをダウンロードし、コンテナ内で実行します。コンテナが実行されると、情報メッセージが表示され、その後終了します(シャットダウンを意味します)。

Docker Hello Worldの例.

システムにどれだけのイメージがあるかを確認するには、単に次のように実行します。

sudo docker images

Dockerイメージを表示.

自分のシステムがこのHello Worldイメージをどのように見つけたのか、どこから来たのか疑問に思うかもしれません。これがDocker Hubの登場です。

Docker Hubの紹介

Docker Hubは、コンテナイメージの発見、イメージのビルド、およびそれらのイメージの配布のためのクラウドベースの中央リソースです。
具体的には、Docker Hubは、後のパートでさらに詳しく説明する便利な機能と機能を提供します。

現在、私たちは1つの機能に焦点を当てます。これは、Dockerイメージを見つけてダウンロードすることです。

Dockerイメージの検索

「ダウンロードして実行する準備ができたDockerイメージ」を検索するには、オンラインのDocker Hubを訪れるか、ターミナルを使用します。ウェブハブからDockerイメージをダウンロードすることはできませんが、イメージの構築方法やメンテナンス方法など、イメージについての詳細を学ぶことができます。

このパートの目的のために、ターミナルの方法を使用することに焦点を当てます。WordPressを検索してみましょう。

sudo docker search wordpress

Dockerイメージを検索.

ご覧のとおり、さまざまな組み合わせ(例:データベースの有無)で構築された多数のWordPress Dockerイメージがあり、人気の星で評価されています。これらは公式(Docker社によってメンテナンスされている)または自動化された(個人によって構築およびメンテナンスされている)ものです。誰でもアカウントを作成し、カスタムDockerイメージをアップロードできることは明らかであり、これについては後のパートで説明します。

Dockerイメージのダウンロード

この記事の目的のために、MySQLが事前にインストールされたbitnamiのDockerイメージの最新ビルドを使用します。それでは、ダウンロードしてみましょう。

sudo docker pull bitnami/wordpress:latest

上記のコマンドを実行すると、Docker Hubと通信し、「bitnami」というリポジトリがあるかどうかを尋ね、その後「最新」バージョンとしてタグ付けされた「WordPress」ビルドがあるかどうかを尋ねます。

Dockerイメージをダウンロード.

現在、WordPressイメージをダウンロードしただけで、他には何もありません。次に、DokuWikiイメージをダウンロードするか、以下のものを使用してダウンロードを進めます。

sudo docker pull mprasil/dokuwiki

Dockerイメージのアーキテクチャ

ダウンロード手続きが完了するのを待っている間、Dockerイメージはベースイメージの上にあるマルチレイヤーイメージであることがわかります。各レイヤーがダウンロードされ、その後「魔法のように」統合されるのが見えます。以下の図は、4つのスタックされたイメージレイヤーを含むUbuntuベースのイメージを示しています。

Dockerアーキテクチャ - パート1

ご想像のとおり、各Dockerイメージはファイルシステムの違いを表す読み取り専用レイヤーのリストを参照します。後で行うように、Dockerイメージから新しいコンテナを作成すると、基盤となるスタックの上に新しい薄い書き込み可能なレイヤーが追加されます。実行中のコンテナに対して行われたすべての変更(新しいファイルの作成、既存のファイルの変更、ファイルの削除など)は、この薄い書き込み可能なコンテナレイヤーに書き込まれます。以下の図は、Ubuntu 15.04イメージに基づくコンテナを示しています。

Dockerアーキテクチャ - レイヤー.

Dockerイメージの削除

さて、システムにどれだけのイメージがあるかを確認すると、

sudo docker images

WordPress、DokuWiki、Hello Worldが表示されます。何らかの理由でイメージを削除(rmi)したい場合は、単に次のように入力します。

sudo docker rmi 

イメージの名前は、「docker images」コマンドで表示されるDockerの名前です。たとえば、Hello Worldを削除したい場合は、次のように入力できます。

sudo docker rmi hello-world

コンテナは一時的です

設計上、Dockerコンテナは一時的です。「一時的」とは、コンテナを停止して破棄し、同じDockerイメージから新しいものを構築し、最小限のセットアップと構成で配置できることを意味します。

したがって、Dockerイメージの好み(WordPressまたはDokuWiki)からコンテナを作成するときに、投稿や画像を追加するなどの変更は、コンテナを停止または削除すると失われることを覚えておいてください。言い換えれば、コンテナが削除されると、データボリュームに保存されていないコンテナに書き込まれたデータは、コンテナと共に削除されます。

データボリュームは、Dockerホストのファイルシステム内のディレクトリまたはファイルであり、コンテナに直接マウントされます。このようにして、コンテナを新しいものと交換し、ユーザーのホームフォルダーにデータを安全に保つことができます。任意の数のデータボリュームをコンテナにマウントできることに注意してください。複数のコンテナも1つ以上のデータボリュームを共有できます。

以下の図は、2つのコンテナを実行している単一のDockerホスト(例:Ubuntu 15.10)を示しています。ご覧のとおり、Dockerホストの/dataにある単一の共有データボリュームもあります。これは両方のコンテナに直接マウントされています。

Dockerコンテナデータ

このようにして、コンテナが削除されると、データボリュームに保存されたデータはDockerホストに残り、新しいコンテナにマウントできます。

Dockerコンテナのネットワーキング

Dockerをインストールすると、システムにネットワークデバイスが作成されます。ホストシステムでifconfigコマンドを使用して、ホストのネットワークスタックの一部としてそれを表示できます(docker0という名前になります)。

Dockerコンテナは隔離されており、それぞれが独自のネットワークプロパティを持つ個別のマイクロサービスであることを理解することが重要です。これらを実行し、接続する方法は、ホストシステムのポート番号にコンテナのポート番号をマッピングすることです。

このようにして、コンテナが実行するWebサービスをホストシステムに公開できます。

WordPressコンテナを使用した個人ノートパッドの作成

テスト用のノートパッドを作成することから始めましょう。まず、WordPressイメージを使用してDockerコンテナを作成します。

sudo docker run --name=mynotepad -p 80:80 -p 443:443 bitnami/wordpress

上記のコマンドで、ホストシステムのDockerサービスに対して、mynotepadという名前のコンテナを作成して実行するように要求し、ホストとコンテナのHTTPおよびHTTPSポートをマッピングし(-p 80:80 -p 443:443)、WordPressイメージを使用します(bitnami/wordpress)。

Docker WordPressコンテナ

コンテナが初期化されると、コンテナに関する情報が表示されます。ブラウザを起動し、http://localhostにアクセスする時間です。

すべてがうまくいけば、デフォルトのWordPressウェブサイトが表示されます。

Dockerで実行中のWordPress.

WordPress管理ページにログインするには、http://localhost/loginにアクセスし、デフォルトの資格情報(ユーザー/bitnami)を使用します。次に、新しいユーザーまたはテスト投稿をWordPressで作成し、公開できます。以下の画像に私のテスト投稿が表示されています。

Docker内のWordPress

ターミナルに戻りましょう。現在、ターミナルは実行中のコンテナにバインドされています。Ctrl+Cを使用して終了できます。これにより、コンテナも停止します。

次に、利用可能なコンテナを確認しましょう。次のコマンドを実行できます。

sudo docker ps -l

以前に作成して実行したコンテナを表示します。

上の画像からわかるように、コンテナの名前やユニークIDなどの重要な情報があります。このようにして、コンテナを再起動できます。

docker start mynotepad

次に、Dockerコンテナが実行しているプロセスを確認するには、次のコマンドを実行します。

sudo docker top mynotepad

デフォルトでは、docker start mynotepadでDockerコンテナはバックグラウンドで実行されています。停止するには、次のコマンドを実行できます。

sudo docker stop mynotepad

コンテナとの対話方法については、Dockerの公式ドキュメントを参照してください https://docs.docker.com/engine/userguide/containers/usingdocker/

コンテナはどこにあるのか

ホストのファイルシステム上でコンテナがどこにあるかを確認したい場合は、/var/lib/dockerに移動できます。

sudo cd /var/lib/docker  
sudo ls  
sudo cd containers  
sudo cd ID  
sudo ls

ID番号は、作成した実際のコンテナを表しています。

永続ストレージの作成

新しいWordPressコンテナを作成しますが、今回はバックグラウンドに配置し、WordPressフォルダーをホストシステムに公開して、ファイルを追加したり、不要なファイルを削除したりできるようにします。

まず、ホームディレクトリにフォルダーを作成します。

mkdir ~/wordpress-files

次に、前回作成したのと同じイメージに基づいてコンテナを実行して作成します。

sudo docker run -d -ti --name=mynotepad-v2 -v ~/wordpress-files:/opt/bitnami/apps -e USER_UID=`id -u` -p 80:80 bitnami/wordpress

今回は、-dパラメータを使用してデタッチモードにし、-tiパラメータを使用してインタラクティブモードでターミナルを接続し、後で対話できるようにしました。

実行中のコンテナを確認するには、次のコマンドを実行します。

sudo docker ps

コンテナを停止しましょう。

sudo docker stop mynotepad-v2

docker psコマンドを実行すると、何も表示されなくなります。
次のコマンドで再起動します。

sudo docker start mynotepad-v2

以前に作成したフォルダーを確認すると、WordPressのインストールが表示されます。

使用したイメージについては、Docker Hubでさらに詳しく読むことができます https://hub.docker.com/r/bitnami/wordpress/

DokuWikiコンテナを使用した個人ノートパッドの作成

今回は、DokuWikiを使用してノートパッドを作成します。以前にイメージをダウンロードしたので、残っているのはそれを使ってコンテナを作成するだけです。

次のコマンドを実行して、mywikipadという名前のコンテナを作成します。

docker run -d -p 80:80 --name mywikipad mprasil/dokuwiki

その後、ブラウザに移動し、次のアドレスを追加してウィキノートパッドの設定を開始します。

http://localhost/install.php

DokuWikiについては、公式ドキュメントから学び、ニーズに合わせてウィキをカスタマイズできます。

https://www.dokuwiki.org/manual

Docker内のDokuWiki

Dockerコンテナの削除

Dockerコンテナの作成、開始、停止に慣れたら、複数のコンテナによって作成されたテストの混乱を整理する必要が出てくるでしょう。

コンテナを削除するには、まず停止し、その後次のコマンドを実行して削除します。

docker rm 

同じdocker rmコマンドで複数のIDを追加して、同時に複数のDockerコンテナを削除することもできます。

まとめ

このパートでは、コンテナを作成し、WordPressまたはDokuWikiに基づいて個人ノートパッドを作成する実用的な方法を学びました。作成したコンテナを開始および停止する方法や、イメージとコンテナを削除する方法についての基本的なコマンドを見ました。

次のパートでは、Dockerイメージがどのように作成されるかを見て、自分自身で作成します。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。