Machineは、パーソナルコンピューターから複数のDockerホストをリモートで簡単にプロビジョニングおよび管理できるツールです。そのようなサーバーは一般にDockerizedホストと呼ばれ、当然のことながらDockerコンテナーを実行するために使用できます。Machineはローカルシステムまたはリモートシステムにインストールできますが、最も一般的なアプローチは、ローカルコンピューター(ネイティブインストールまたは仮想マシン)にインストールし、それを使用してDockerizedリモートサーバーをプロビジョニングすることです。Dropletsのプロビジョニングに使用します。前提条件このチュートリアルを実行するには、次のものが必要です。[このガイド]を使用して生成してください。トークンを生成するときは、読み取り/書き込みスコープがあることを確認してください。これがデフォルトであるため、生成中にオプションを変更しない場合、読み取り/書き込み機能があります。コマンドラインで使いやすくするために、その記事で与えられているように変数にトークンを割り当ててください。Machineをインストールするプロセスを実行します。Machineバイナリをダウンロードしてインストールするには、次を入力します。`でなければなりません。docker-machine」に変更します。docker-machine実行可能にします。+`ディレクトリに移動またはコピーします。/usr/local/binバージョンを確認すると、バージョンが正しくインストールされていることがわかります。+`コマンドの使用を容易にするために設計された3つのbashスクリプトがあります。コマンド補完とbashプロンプトのカスタマイズを提供します。このステップでは、これら3つのスクリプトをローカルマシンにインストールします。+`ディレクトリにインストールされます。最初のスクリプトでは、bashプロンプトからアクティブなマシンを見ることができます。これは、複数のDocker化されたマシンで作業して切り替えているときに便利です。docker-machine-prompt.bash」と呼ばれます。ダウンロードするには、次を入力します。`変数にカスタム値を設定する必要があります。+`はbashコマンドプロンプトの変更に使用される特別なシェル変数です)。*で始まる3行があります。これらは次のようになります。")+`を挿入して、次のようにします。\w\a\]$PS1"ファイルを保存して閉じます。Machinesを簡単に切り替えられるようにします。ダウンロードするには、次を入力します。docker-machine.bash」と呼ばれます。docker-machine`コマンドにbash補完を追加します。次を使用してダウンロードします。/etc/bash_completion.d/docker-machine.bashこれまでに行った変更を適用するには、端末を閉じてから再度開きます。SSH経由でマシンにログインしている場合は、セッションを終了して再度ログインします。+`コマンドのコマンド補完が機能するはずです。+`コマンドを使用して、DigitalOceanアカウントにDockerizedドロップレットをプロビジョニングできるようになりました。APIトークンをbash変数に割り当てます。+`ファイルに変数を入れます。この手順はオプションですが、値をターミナルセッション間で保持したい場合に必要です。~/.bashrcこれに似た行をどこかに追加します。=現在のターミナルセッションで変数をアクティブにするには、次のように入力します。+`コマンドを正常に呼び出すには、(少なくとも)ドライバー、APIトークン(またはそれを評価する変数)、およびマシンの一意の名前を指定する必要があります。最初のマシンを作成するには、次を入力します。$マシンの作成中の部分的な出力は次のとおりです。docker-machine`がリモートでアクセスできるように、新しいホスト用にSSHキーペアが作成されます。ドロップレットは目的のオペレーティングシステムでプロビジョニングされ、Dockerがシステムにインストールされます。Dropletが稼働します。コマンドラインから新しく作成されたマシンを表示するには、次のように入力します。ls出力は次のようになります。LTSを使用しています。+`コマンドに渡すことにより、目的のバージョンとともにUbuntuを指定する必要があります。18.04を使用してマシンを作成するには、次のように入力します。$Ubuntuのバージョンに限定されません。DigitalOceanでサポートされているオペレーティングシステムを使用してマシンを作成できます。8を使用してマシンを作成するには、次のように入力します。centos7-docker選択できるのはベースオペレーティングシステムだけではありません。ドロップレットのサイズを指定することもできます。GBのSSDを備えています。documentation]で対応するスラッグを検索します。$DigitalOceanドライバーを使用したDockerマシンの作成に固有のすべてのフラグを表示するには、次のように入力します。`サブコマンドを使用してDockerizedホストをプロビジョニングする方法を見てきました。Machineで使用可能なホストを一覧表示する方法も確認しました。+」サブコマンドを学習します。+`サブコマンドを使用します。inspect出力には次のような行が含まれている必要があります。*行はサイズスラッグを示しています。},---ホストの接続構成を印刷するには、次のように入力します。config出力は次のようになります。+`コマンドの出力の最後の行にはホストのIPアドレスが表示されますが、次のように入力してその情報を取得することもできます。stop停止していることを確認します。start開始されたことを確認します。Running`に設定されていることがわかります。v18.05.0-ceその後、次を使用して削除できます。docker-machine。+`によって作成されたSSHキーとともに削除されます。これで、Docker化されたホストを一覧表示すると、削除したホストが表示されなくなります。ls手順6-SSH経由でDockerizedホストでコマンドを実行するこの時点で、マシンに関する情報を取得していますが、それ以上のことができます。`サブコマンドを使用して、DockerホストでネイティブLinuxコマンドを実行できます。ssh」コマンドを実行する方法と、Docker化されたホストへのSSHセッションを開く方法について説明します。Ubuntuをオペレーティングシステムとしてマシンをプロビジョニングした場合、ローカルシステムから次のコマンドを実行して、Dockerホストのパッケージデータベースを更新します。update以下を使用して利用可能なアップデートを適用することもできます。+`サブコマンドを使用してリモートDockerホスト上でコマンドを実行する以外に、このコマンドを使用してマシン自体にログインすることもできます。sshコマンドプロンプトは、リモートホストにログインしているという事実を反映するように変更されます。protected]#リモートホストを終了するには、次のように入力します。+`コマンドを実行できるようになります。Dockerホストをアクティブにするには、次のコマンドを入力します。)または、次のコマンドを使用してアクティブ化できます。use上記のコマンドのいずれかを入力すると、bashプロンプトが変わり、DockerクライアントがリモートDockerホストを指していることを示す必要があります。ホストの名前はプロンプトの最後に表示されます。docker`コマンドはすべてリモートホスト上で実行されます。*列の下のアスタリスクはそれがアクティブなものであることを示します。v18.05.0-ceリモートDockerホストを終了するには、次を入力します。-uローカルシステムのプロンプトに戻ります。次に、リモートマシンでコンテナを作成します。Dropletをプロビジョニングし、それをアクティブにしました。Dockerクライアントはそれを指し示しています。次の論理ステップは、その上でコンテナーをスピンアップすることです。例として、公式のNginxコンテナを実行してみましょう。+`を使用してリモートマシンを選択します。useこのコマンドを実行して、そのマシンでNginxコンテナーを実行します。nginxこのコマンドでは、デフォルトのNginxページにどこからでもアクセスできるように、Nginxコンテナーのポート「80」をDockerizedホストのポート「8080」にマッピングしています。+`を指定することで、デフォルトのNginxページにアクセスできます。Dockerホストがまだアクティブ化されている間(プロンプトで名前が表示されます)、そのホスト上のイメージを一覧表示できます。images出力には、使用したばかりのNginxイメージと、以前にダウンロードした他のイメージが含まれている必要があります。109MBホスト上のアクティブまたは実行中のコンテナを一覧表示することもできます。psこのステップで実行したNginxコンテナーが唯一のアクティブなコンテナーである場合、出力は次のようになります。httpserverリモートホストのプロンプトを終了するには、入力します。これにより、ターミナルも閉じられます。Machineがクラッシュするたびに、BugsnagのDockerアカウントにいくつかの診断情報が自動的に送信されます。+`という空のファイルを作成して、レポートを無効にすることができます。ファイルを作成するには、次を入力します。Machineがクラッシュした場合は、エラーメッセージのファイルを確認してください。Dropletをリモートでプロビジョニングする方法の概要です。これで、DigitalOceanアカウントで必要な数のDockerizedホストを迅速にプロビジョニングできるようになります。[公式ドキュメントページ]をご覧ください。[このGitHubページ]でホストされています。