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イメージをダウンロードし、コンテナ内で実行します。コンテナが実行されると、情報メッセージが表示され、その後終了します(シャットダウンを意味します)。

システムにどれだけのイメージがあるかを確認するには、単に次のように実行します。
sudo docker images
自分のシステムがこのHello Worldイメージをどのように見つけたのか、どこから来たのか疑問に思うかもしれません。これがDocker Hubの登場です。
Docker Hubの紹介
Docker Hubは、コンテナイメージの発見、イメージのビルド、およびそれらのイメージの配布のためのクラウドベースの中央リソースです。
具体的には、Docker Hubは、後のパートでさらに詳しく説明する便利な機能と機能を提供します。
現在、私たちは1つの機能に焦点を当てます。これは、Dockerイメージを見つけてダウンロードすることです。
Dockerイメージの検索
「ダウンロードして実行する準備ができたDockerイメージ」を検索するには、オンラインのDocker Hubを訪れるか、ターミナルを使用します。ウェブハブからDockerイメージをダウンロードすることはできませんが、イメージの構築方法やメンテナンス方法など、イメージについての詳細を学ぶことができます。
このパートの目的のために、ターミナルの方法を使用することに焦点を当てます。WordPressを検索してみましょう。
sudo docker search wordpress
ご覧のとおり、さまざまな組み合わせ(例:データベースの有無)で構築された多数のWordPress Dockerイメージがあり、人気の星で評価されています。これらは公式(Docker社によってメンテナンスされている)または自動化された(個人によって構築およびメンテナンスされている)ものです。誰でもアカウントを作成し、カスタムDockerイメージをアップロードできることは明らかであり、これについては後のパートで説明します。
Dockerイメージのダウンロード
この記事の目的のために、MySQLが事前にインストールされたbitnamiのDockerイメージの最新ビルドを使用します。それでは、ダウンロードしてみましょう。
sudo docker pull bitnami/wordpress:latest上記のコマンドを実行すると、Docker Hubと通信し、「bitnami」というリポジトリがあるかどうかを尋ね、その後「最新」バージョンとしてタグ付けされた「WordPress」ビルドがあるかどうかを尋ねます。

現在、WordPressイメージをダウンロードしただけで、他には何もありません。次に、DokuWikiイメージをダウンロードするか、以下のものを使用してダウンロードを進めます。
sudo docker pull mprasil/dokuwikiDockerイメージのアーキテクチャ
ダウンロード手続きが完了するのを待っている間、Dockerイメージはベースイメージの上にあるマルチレイヤーイメージであることがわかります。各レイヤーがダウンロードされ、その後「魔法のように」統合されるのが見えます。以下の図は、4つのスタックされたイメージレイヤーを含むUbuntuベースのイメージを示しています。

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

Dockerイメージの削除
さて、システムにどれだけのイメージがあるかを確認すると、
sudo docker imagesWordPress、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をインストールすると、システムにネットワークデバイスが作成されます。ホストシステムで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)。

コンテナが初期化されると、コンテナに関する情報が表示されます。ブラウザを起動し、http://localhostにアクセスする時間です。
すべてがうまくいけば、デフォルトのWordPressウェブサイトが表示されます。

WordPress管理ページにログインするには、http://localhost/loginにアクセスし、デフォルトの資格情報(ユーザー/bitnami)を使用します。次に、新しいユーザーまたはテスト投稿を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 lsID番号は、作成した実際のコンテナを表しています。
永続ストレージの作成
新しい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-v2docker 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.phpDokuWikiについては、公式ドキュメントから学び、ニーズに合わせてウィキをカスタマイズできます。
https://www.dokuwiki.org/manual
Dockerコンテナの削除
Dockerコンテナの作成、開始、停止に慣れたら、複数のコンテナによって作成されたテストの混乱を整理する必要が出てくるでしょう。
コンテナを削除するには、まず停止し、その後次のコマンドを実行して削除します。
docker rm 同じdocker rmコマンドで複数のIDを追加して、同時に複数のDockerコンテナを削除することもできます。
まとめ
このパートでは、コンテナを作成し、WordPressまたはDokuWikiに基づいて個人ノートパッドを作成する実用的な方法を学びました。作成したコンテナを開始および停止する方法や、イメージとコンテナを削除する方法についての基本的なコマンドを見ました。
次のパートでは、Dockerイメージがどのように作成されるかを見て、自分自身で作成します。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。