GNU/Linux >> Linux の 問題 >  >> Panels >> Docker

Docker:実用的な方法でそれを使用する方法-パート3

パート3:WordPressおよびDokuWikiコンテナを使用したメモ帳の作成

序文

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

このパートでは、Dockerイメージの使用を開始し、実用的な方法でコンテナーを作成します。つまり、DokuWikiまたはWordPress上で実行されるWebベースの高度な個人用メモ帳を作成します。快適な方を選択できます。

Dockerコンテナを実行する方法

まず、「Hello world」イメージをダウンロードし、そこからコンテナーを作成して、Dockerエンジンが必要に応じて機能していることを確認する必要があります。

イメージについて話すときは一時停止状態ですが、コンテナーについて話すときはDockerイメージのランタイムインスタンスであることを忘れないでください。前の部分で説明したように、DockerイメージはLinuxディストリビューションのISOファイルのようなものですが、コンテナーはUSBサムドライブから実行しているかのようにISOファイルのライブセッションです。

「Helloworld」イメージをダウンロードして実行するには、ターミナルに入力するだけです

 sudo docker run hello-world 

このコマンドは、Hello Worldイメージをダウンロードし、コンテナーで実行します。コンテナが実行されると、情報メッセージが出力されてから終了します(つまり、シャットダウンされます)。

システムにある画像の数を確認するにはどうすればよいですか?さて、私たちは単に実行します

sudodocker画像

私のシステムはどのようにしてこのHelloWorldイメージを見つけ、どこから来たのか、自問するかもしれません。さて、これがDockerハブの出番です。

DockerHubの概要

Docker Hubは、コンテナーイメージの検出、イメージの構築、およびそれらのイメージの配布のためのクラウドベースの集中型リソースです。
具体的には、Docker Hubはいくつかの便利な機能を提供しますが、これらについては後のパートで詳しく説明します。

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

Dockerイメージの検索

オンラインのDockerハブにアクセスするか、ターミナルを使用して、「Dockerイメージをダウンロードして実行する準備ができました」を検索できます。 DockerイメージをWebハブからダウンロードすることはできませんが、イメージの構築方法や保守方法など、イメージについて詳しく知ることができます。

したがって、このパートでは、ターミナルウェイの使用に焦点を当てます。 WordPressを検索してみましょう

 sudo docker search wordpress 

さまざまな組み合わせで構築されたWordPressDockerイメージがたくさんあることがわかります(たとえば、データベースを含めるかどうかに関係なく)、人気の星で評価され、公式(Docker会社によって維持されている)または自動化されています(構築され、個人によって維持されます)。誰でもアカウントを作成してカスタムDockerイメージをアップロードできることは明らかです。これについては、後のパートで説明します。

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

この記事では、MySQLがプリインストールされた最新のbitnamisのdockerイメージを使用します。ダウンロードしましょう:

 sudo docker pull bitnami / wordpress:latest 

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

現在、WordPressの画像のみをダウンロードしています。これで、DokuWikiイメージをダウンロードして、好きなものを検索して選択するか、次のようなものを使用して続行できます

 sudo docker pull mprasil / dokuwiki 

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

ダウンロード手順が完了するのを待っている間、Dockerイメージがベースイメージの上にあるマルチレイヤーイメージであることがわかります。ダウンロードされているすべてのレイヤーを確認して、「魔法のように」統合することができます。次の図は、4つのスタックされたイメージレイヤーで構成されるUbuntuベースイメージを示しています。

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


Dockerイメージの削除

ここで、システムにある画像の数を確認すると

sudodocker画像

WordPress、DokuWiki、HelloWorldが表示されます。何らかの理由で画像を削除(rmi)したい場合は、単に入力するだけです

 sudo docker rmi  

ここで、イメージの名前は、「dockerimages」コマンドで表示される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`(--name =mynotepad)という名前のコンテナーを作成して実行(docker run)し、ホストとコンテナーのHTTPおよびHTTPSポートをマップするように依頼しました(-p 80:80 -p 443:443)、WordPress画像(bitnami / wordpress)を使用します

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

を指定します。

すべてがうまくいけば、デフォルトのWordPressWebサイトが表示されます

WordPress管理ページにログインすることをすでに知っているかもしれないので、http:// localhost / loginにアクセスして、デフォルトのクレデンシャルuser/bitnamiを使用してください。次に、WordPressで新しいユーザーまたはテスト投稿を作成して公開できます。下の画像で私のテスト投稿を見ることができます

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

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

 sudo docker ps -l <​​/ pre> 

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

上の画像からわかるように、コンテナの名前やコンテナの一意の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/

で、コンテナーとの対話方法の詳細を読むことができます。

コンテナはどこにありますか

コンテナがhostsファイルシステムのどこにあるかを確認したい場合は、/ var / lib / docker

にアクセスしてください。
 sudo cd / var / lib / docker 
sudo ls
sudocdコンテナ
sudocd 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 Hubhttps://hub.docker.com/r/bitnami/wordpress/

で使用した画像の詳細を読むことができます

DokuWikiコンテナを使用した個人用メモ帳の作成

今回は、DokuWikiを使用してメモ帳を作成します。以前に画像をダウンロードしたので、あとは画像からコンテナを作成するだけです。

それでは、次のコマンドを実行して、containerという名前の`mywikipad`を作成しましょう

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

次に、ブラウザに移動し、次のアドレスを追加して、Wikiメモ帳の構成を開始します。

 http://localhost/install.php 

公式ドキュメントからDokuWikiの詳細を学び、ニーズに合わせてWikiをカスタマイズできます:

 https://www.dokuwiki.org/manual 

Dockerコンテナの削除

Dockerコンテナーの作成、開始、停止に慣れたら、複数のコンテナーによって作成されたテストの混乱をクリーンアップする必要があります。

コンテナを最初に削除するには、コンテナを停止してから、次のコマンドを実行して削除する必要があります。

 dockerrm<コンテナまたはIDの名前>

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

概要

このパートでは、コンテナーを作成し、それを実際的な方法で使用して、WordPressまたはDokuWikiに基づいて個人用のメモ帳を作成する方法を学びました。作成するコンテナを開始および停止する方法と、イメージとコンテナを削除する方法に関するいくつかの基本的なコマンドを確認しました。

次のパートでは、独自のイメージを作成することでDockerイメージがどのように作成されるかを見ていきます。


Docker
  1. ホスト間でDockerイメージを移動する方法

  2. DockerInspectコマンドの使用方法

  3. Dockerイメージを変更する方法

  1. Dockerイメージサイズを縮小する方法:6つの最適化方法

  2. DockerComposeの使用方法

  3. Dockerイメージに変更をコミットする方法

  1. Dockerfileを使用してDockerイメージを構築する方法

  2. Dockerイメージを他の人と共有する方法

  3. リモートDockerホストを使用する方法と理由