18.04_このチュートリアルの以前のバージョンはhttps://www.digitalocean.com/community/users/finid[finid]によって作成されました。前書きDockerは、_containers_でアプリケーションプロセスを管理するプロセスを簡素化するアプリケーションです。コンテナを使用すると、リソースを分離したプロセスでアプリケーションを実行できます。これらは仮想マシンに似ていますが、コンテナはより移植性が高く、リソースにやさしく、ホストオペレーティングシステムに依存します。Ecosystem:An共通コンポーネントの紹介]。Edition(CE)をインストールして使用します。Docker自体をインストールし、コンテナと画像を操作し、画像をDockerリポジトリにプッシュします。前提条件このチュートリアルを実行するには、次のものが必要です。rootユーザーとファイアウォール。Hub]のアカウント。ステップ1-Dockerのインストール公式のUbuntuリポジトリで利用可能なDockerインストールパッケージは、最新バージョンではない場合があります。最新バージョンを確実に取得するために、公式のDockerリポジトリからDockerをインストールします。そのためには、新しいパッケージソースを追加し、DockerからGPGキーを追加してダウンロードが有効であることを確認してから、パッケージをインストールします。既存のパッケージのリストを更新します。+`がHTTPS経由でパッケージを使用できるようにするいくつかの前提条件パッケージをインストールします。software-properties-common次に、公式DockerリポジトリのGPGキーをシステムに追加します。-DockerリポジトリをAPTソースに追加します。stable"次に、新しく追加されたリポジトリのDockerパッケージでパッケージデータベースを更新します。updateデフォルトのUbuntuリポジトリではなく、Dockerリポジトリからインストールしようとしていることを確認してください。docker-ce次のような出力が表示されますが、Dockerのバージョン番号は異なる場合があります。最後に、Dockerをインストールします。docker-ceこれで、Dockerがインストールされ、デーモンが起動し、プロセスが起動時に起動できるようになります。実行されていることを確認します。docker出力は次のようになり、サービスがアクティブで実行中であることを示します。`コマンドラインユーティリティ、またはDockerクライアントも提供されます。docker`コマンドの使用方法を検討します。グループのユーザーのみが実行できます。docker`コマンドを実行しようとすると、次のような出力が得られます。+`グループに追加します。${USER}新しいグループメンバーシップを適用するには、サーバーからログアウトして再度ログインするか、次のように入力します。${USER}続行するには、ユーザーのパスワードを入力するよう求められます。*グループに追加されたことを確認します。+`グループにユーザーを追加する必要がある場合は、次を使用してそのユーザー名を明示的に宣言します。`コマンドを実行していることを前提としています。+」を付けてください。+」コマンドを見てみましょう。+`を使用するには、一連のオプションとコマンドに引数を続けて渡します。構文は次の形式を取ります。[arguments]使用可能なすべてのサブコマンドを表示するには、次を入力します。18現在、使用可能なサブコマンドの完全なリストには次のものが含まれます。codes特定のコマンドで使用可能なオプションを表示するには、次を入力します。--helpDockerに関するシステム全体の情報を表示するには、次を使用します。infoこれらのコマンドのいくつかを見てみましょう。画像の操作から始めます。ステップ4-Dockerイメージの操作DockerコンテナーはDockerイメージから構築されます。Hub]から取得します。Hubでホストできるため、必要なほとんどのアプリケーションおよびLinuxディストリビューションでは、イメージをホストできます。Hubから画像にアクセスしてダウンロードできるかどうかを確認するには、次のように入力します。hello-world出力は、Dockerが正しく機能していることを示します。Hubからイメージをダウンロードしました。イメージがダウンロードされると、Dockerはイメージからコンテナーを作成し、コンテナー内のアプリケーションを実行してメッセージを表示しました。+`サブコマンドを使用します。Ubuntuイメージを検索するには、次のように入力します。Hubをクロールし、名前が検索文字列と一致するすべての画像のリストを返します。この場合、出力は次のようになります。*は、プロジェクトの背後にある会社によって構築およびサポートされているイメージを示します。+」サブコマンドを使用してコンピューターにダウンロードできます。ubuntu」イメージをコンピューターにダウンロードします。ubuntu次の出力が表示されます。`サブコマンドでダウンロードされたイメージを使用してコンテナーを実行できます。+`サブコマンドで実行されたときにイメージがダウンロードされていない場合、Dockerクライアントは最初にイメージをダウンロードし、それを使用してコンテナーを実行します。コンピューターにダウンロードされたイメージを表示するには、次を入力します。images出力は次のようになります。1.85kBこのチュートリアルの後半で説明するように、コンテナを実行するために使用する画像を変更し、新しい画像を生成するために使用できます。Hubまたはその他のDockerレジストリにアップロードできます(_pushed_は技術用語です)。コンテナを実行する方法をさらに詳しく見てみましょう。+`コンテナは、テストメッセージを送信した後に実行および終了するコンテナの例です。コンテナはそれよりもはるかに便利であり、インタラクティブにすることができます。結局のところ、それらは仮想マシンに似ており、リソースに優しいだけです。例として、Ubuntuの最新のイメージを使用してコンテナーを実行してみましょう。*スイッチの組み合わせにより、コンテナーへのインタラクティブなシェルアクセスが可能になります。ubuntuコマンドプロンプトは、コンテナ内で現在作業しているという事実を反映するように変更され、次の形式を取る必要があります。protected]:/#コマンドプロンプトのコンテナIDに注意してください。コンテナを削除するときに、コンテナを識別するために、後でそのコンテナIDが必要になります。これで、コンテナ内で任意のコマンドを実行できます。コンテナ内のパッケージデータベースを更新しましょう。+`を付ける必要はありません。update次に、アプリケーションをインストールします。Node.jsをインストールしましょう。nodejsこれにより、公式のUbuntuリポジトリからNode.jsがコンテナにインストールされます。インストールが完了したら、Node.jsがインストールされていることを確認します。-v端末にバージョン番号が表示されます:Outputv8.10.0コンテナ内で行った変更は、そのコンテナにのみ適用されます。次に、システム上のコンテナの管理を見てみましょう。ステップ6-Dockerコンテナーの管理Dockerをしばらく使用すると、コンピューター上に多くのアクティブ(実行中)および非アクティブのコンテナーができます。*アクティブなもの*を表示するには、次を使用します。ps次のような出力が表示されます。CREATEDこのチュートリアルでは、2つのコンテナを開始しました。ubuntu」画像から。両方のコンテナはもう実行されていませんが、システムにはまだ存在しています。-a次のような出力が表示されます。」を使用し、その後にコンテナIDまたはコンテナの名前を続けます。+`のUbuntuベースのコンテナーを起動しましょう。+`を使用してそのステータスを確認できます。`に続けてコンテナIDまたは名前を使用します。`コマンドでコンテナIDまたは名前を使用して削除します。+`コマンドを使用します。+`スイッチを使用して、新しいコンテナを開始して名前を付けることができます。`スイッチを使用して、停止時に自身を削除するコンテナを作成することもできます。help」コマンドを参照してください。コンテナは、新しいコンテナの構築に使用できるイメージに変換できます。それがどのように機能するか見てみましょう。ステップ7-コンテナー内の変更をDockerイメージにコミットするDockerイメージを起動すると、仮想マシンでできるようにファイルを作成、変更、削除できます。加えた変更は、そのコンテナにのみ適用されます。rm」コマンドで破棄すると、変更は永久に失われます。このセクションでは、コンテナの状態を新しいDockerイメージとして保存する方法を示します。Node.jsをUbuntuコンテナー内にインストールすると、イメージからコンテナーが実行されますが、コンテナーは作成に使用したイメージとは異なります。このNode.jsコンテナを後で新しいイメージの基盤として再利用したい場合があります。次に、次のコマンドを使用して、新しいDockerイメージインスタンスに変更をコミットします。*が使用されている間に、あなたや他の人があなたが行った変更を知るのに役立つコミットメッセージ用です。`は、チュートリアルの前半でインタラクティブDockerセッションを開始したときにメモしたものです。Hubユーザー名です。*の場合、コマンドは次のようになります。/ubuntu-nodejsイメージを_コミット_すると、新しいイメージがコンピューターにローカルに保存されます。HubなどのDockerレジストリにプッシュする方法を学習します。Dockerイメージを再度一覧表示すると、新しいイメージと、それが由来する古いイメージが表示されます。images次のような出力が表示されます。+`イメージから派生した新しいイメージです。サイズの違いは、行われた変更を反映しています。この例では、変更点はNodeJSがインストールされたことです。そのため、NodeJSがプリインストールされたUbuntuを使用してコンテナを実行する必要がある場合は、新しいイメージを使用するだけです。Dockerfile`からイメージを構築することもできます。これにより、新しいイメージでのソフトウェアのインストールを自動化できます。これはこのチュートリアルの範囲外です。次に、新しい画像を他の人と共有して、そこからコンテナを作成できるようにします。Hubの全世界、またはアクセスできる他のDockerレジストリと共有することです。Hubまたはその他のDockerレジストリにプッシュするには、そこにアカウントが必要です。Hubにプッシュする方法を示します。独自のプライベートDockerレジストリを作成する方法については、https://www.digitalocean.com/community/tutorials/how-to-set-up-a-private-docker-registry-on-ubuntu-14-04をご覧ください。14.04でプライベートDockerレジストリを設定する方法]。Hubにログインします。Hubのパスワードを使用して認証するように求められます。正しいパスワードを指定した場合、認証は成功するはずです。次に、以下を使用して独自の画像をプッシュできます。*リポジトリにプッシュするには、コマンドは次のようになります。/このプロセスは画像をアップロードするため、完了するのに時間がかかる場合がありますが、完了すると、出力は次のようになります。Pushed...画像をレジストリにプッシュすると、下の画像に示すように、アカウントのダッシュボードに表示されるはずです。Hubの新しいDockerイメージリスト]プッシュを試みた結果、この種のエラーが発生した場合、おそらくログインしていません。login`でログインし、プッシュ試行を繰り返します。Hubリポジトリページに存在することを確認します。+`を使用してイメージを新しいマシンにプルし、それを使用して新しいコンテナーを実行できます。Hubにプッシュしました。[その他のDockerチュートリアル]をご覧ください。