16.04前書きDockerは、コンテナ化されたアプリケーションをデプロイおよび管理するためのプラットフォームです。devopsエンジニアの間で人気があります。Dockerには3つの必須コンポーネントがあります。Engineは、コンテナを管理するコア機能を提供します。基盤となるLinuxオペレーティングシステムと連動して、コンテナのライフサイクルに対処するためのシンプルなAPIを公開します。Engineによって公開されるAPIと通信するコマンドラインツールのセットです。これらは、コンテナの実行、新しいイメージの作成、ストレージとネットワークの構成、およびコンテナのライフサイクルに影響を与えるさらに多くの操作の実行に使用されます。Registryは、コンテナイメージが保存される場所です。各画像には、一意のタグで識別される複数のバージョンを含めることができます。ユーザーは既存の画像をレジストリから取得し、新しい画像をレジストリにプッシュします。[Docker、Inc.]によって管理されるホスト型レジストリです。独自の環境内でレジストリを実行して、エンジンに近い画像。Dropletにインストールし、コンテナーを管理し、イメージを操作し、永続性を追加し、プライベートレジストリを設定します。前提条件このチュートリアルを実行するには、次のものが必要です。16.04ドロップレットをセットアップしました。rootユーザーとファイアウォール。Hubの概要]は、開始に役立ちます。`コマンドにはルート権限が必要です。+`プレフィックスなしでコマンドを実行できます。`グループに追加されます。+」を実行して、新しいグループメンバーシップを適用します。+`コマンドを実行するように設定されていることを想定しています。ステップ1-DockerのインストールドロップレットにSSHで接続した後、次のコマンドを実行して、既にインストールされている可能性のある既存のdocker関連パッケージを削除し、公式リポジトリからDockerをインストールします。docker-ceDockerのインストール後、次のコマンドを使用してインストールを確認します。Engineの詳細を表示します。次のコマンドは、Dockerツールが正しくインストールおよび構成されていることを確認します。EngineとToolsの両方のバージョンを印刷する必要があります。versionステップ2-コンテナーの起動Dockerコンテナは、レジストリに保存されている既存のイメージから起動されます。Dockerの画像は、プライベートまたはパブリックのリポジトリに保存できます。プライベートリポジトリでは、ユーザーは画像を取得する前に認証する必要があります。公開画像には誰でもアクセスできます。hello-world`という名前に一致する複数の画像が存在する場合があります。画像の人気を示す最大の星を持つものを選択してください。次のコマンドを使用して、ローカル環境で使用可能なイメージを確認します。imagesまだコンテナを起動していないため、画像はありません。これで、イメージをダウンロードしてローカルで実行できます。Engineは最初にイメージをプルしてから実行します。hello-world`イメージがローカルで利用できることがわかります。Webサーバーを起動しましょう。+`コマンドに追加のオプションが渡されることに気付くかもしれません。これらのスイッチの説明は次のとおりです。+-これは、ホストのポート「80」でコンテナのポート「80」を公開するようにDockerエンジンに指示します。+`でリッスンするため、ホストポートで公開する必要があります。+-このスイッチは、実行中のコンテナに名前を割り当てます。Engineはランダムな名前を割り当てます。Engineにコンテナを分離モードで実行するよう指示します。これがないと、コンテナはフォアグラウンドで起動され、シェルへのアクセスがブロックされます。コンテナをバックグラウンドにプッシュすることにより、コンテナの実行中にシェルを使用し続けることができます。コンテナが実際にバックグラウンドで実行されていることを確認するには、次のコマンドを試してください。」という名前のコンテナが、ホストポート「+80」にマップされたポート「80」で実行されていることを示しています。次に、Webサーバーにアクセスします。localhost次のコマンドを使用して、実行中のコンテナを停止して削除します。+`を再度実行すると、コンテナが終了したことが確認されます。ステップ3-コンテナーへのストレージの追加コンテナは一時的なものです。コンテナが終了すると、コンテナ内に保存されているものはすべて失われます。コンテナの寿命を超えてデータを永続化するには、コンテナにボリュームをアタッチする必要があります。ボリュームは、ホストファイルシステムのディレクトリです。ホスト上に新しいディレクトリを作成することから始めます。Webサーバーのドキュメントルートを指定します。+`ディレクトリがホストのファイルシステムを指すようにします。このディレクトリに加えられた変更は、両方の場所で表示されます。次のコマンドを実行して、コンテナからディレクトリにアクセスします。/bin/bashこのコマンドは、ターミナルをコンテナのシェルにインタラクティブモードで接続します。コンテナ内にドロップされていることがわかります。+`フォルダーに移動し、シンプルなHTMLファイルを作成します。最後に、シェルを終了してホストに戻ります。+`コマンドを再度実行すると、Webサーバーが作成したページを返していることがわかります。ホストからこのファイルにアクセスできるだけでなく、変更することもできます。+`を再度実行すると、Webサーバーがホストから作成された最新のページを提供していることが確認されます。次のコマンドでコンテナを終了します。+`は、Dockerを最初に停止せずに強制終了します。webステップ4-イメージの構築レジストリから既存のイメージを実行する以外に、独自のイメージを作成してレジストリに保存できます。既存のコンテナから新しいイメージを作成できます。コンテナに加えられた変更は最初にコミットされ、次にイメージにタグが付けられ、レジストリにプッシュされます。+`コンテナを起動して、デフォルトのドキュメントを変更しましょう。index.html`で実行されていません。localhost`で確認できます。変更したコンテナをコミットする前に、停止することをお勧めします。停止した後、commitコマンドを実行します。`コマンドで画像の作成を確認します。+`イメージが表示されます。Hubに保存するには、次のコマンドを実行して、画像をパブリックレジストリにプッシュします。Hubを検索して、新しいイメージを確認できます。画像をより安全に保つために、プライベート環境でレジストリを実行することが可能です。Engineとイメージリポジトリの間の遅延も削減されます。Registryは、他のコンテナと同様に起動できるコンテナとして利用できます。レジストリには複数の画像が保持されているため、ストレージボリュームをそれに登録することをお勧めします。」ディレクトリがホストファイルシステムにマッピングされていることに注意してください。+`コマンドを実行することで、コンテナが実行されていることを確認できます。ローカルイメージにタグを付けて、プライベートレジストリにプッシュできるようになりました。+」コンテナを取得してタグ付けしましょう。+`でタグ付けされていることを確認するため、画像をプライベートレジストリにプッシュします。localhost:5000/busyboxイメージをローカルレジストリにプッシュしたら、環境から削除してレジストリから引き戻してみましょう。images画像をプルし、タグを付け、ローカルレジストリにプッシュし、最後に引き戻すという完全なサイクルを経ました。専用ホストでプライベートレジストリを実行したい場合があります。Engineは、リモートレジストリと通信してイメージをプルおよびプッシュします。Engineの構成を変更して、安全でないレジストリへのアクセスを有効にする必要があります。daemon.json」ファイルを編集します。ファイルが存在しない場合は作成します。次のエントリを追加します。+`をリモートレジストリのホスト名またはIPアドレスに置き換えます。Engineを再起動して、構成の変更が適用されていることを確認します。結論このチュートリアルは、Dockerの使用開始に役立ちました。インストール、コンテナ管理、イメージ管理、ストレージ、プライベートレジストリなどの重要な概念について説明しました。[このシリーズ]は、Dockerの基本を超えて役立つでしょう。