web-dev-qa-db-ja.com

Google Compute EngineでDockerを実行するにはどうすればよいですか?

Google Compute EngineDocker をインストールして実行する手順は何ですか?

30
Marc Cohen

Compute Engineの最近のGA=リリースまで、実行中のDockerはGCEではサポートされていませんでしたが(カーネルの制限により))新しく発表されたカスタムカーネルのデプロイおよび使用機能により、その制限はなくなりましたDockerがGCEで適切に機能するようになりました。

proppy のおかげで、Google Compute EngineでDockerを実行する手順がここに文書化されます: http://docs.docker.io/en/master/installation/google/ 。楽しい!

20
Marc Cohen

現在、VMがあり、Dockerがプリインストールされています。

$ gcloud compute instances create instance-name
--image projects/google-containers/global/images/container-vm-v20140522
--zone us-central1-a
--machine-type f1-micro

https://developers.google.com/compute/docs/containers/container_vms

14
lee penkman

少し遅れましたが、回答はまだかなり散在しているため、より詳細なワークフローとリンクを含む回答を追加したいと思いました。

  1. Dockerイメージを作成します

    a。ローカルで

    b。 Google Container Builderの使用

  2. ローカルのDockerイメージをGoogle Container Repositoryにプッシュします

    _docker tag <current name>:<current tag> gcr.io/<project name>/<new name>_

    _gcloud docker -- Push gcr.io/<project name>/<new name>_

    [〜#〜]更新[〜#〜]

    18.03以上のDockerクライアントバージョンにアップグレードした場合、gcloud dockerコマンドはサポートされなくなりました。上記のプッシュの代わりに、以下を使用します。

    _docker Push gcr.io/<project name>/<new name>_

    アップグレード後に問題が発生した場合は、詳細 こちら を参照してください。

  3. 計算インスタンスを作成します。このプロセスは、実際にはいくつかのステップを難読化します。 Google提供のコンテナー最適化OSイメージを使用するGoogle Compute Engineを使用して、仮想マシン(VM)インスタンスを作成します。このイメージには、Dockerと、Dockerコンテナーの起動を担当する追加のソフトウェアが含まれています。次に、コンテナーイメージがコンテナーリポジトリからプルされ、VMの起動時にdocker runを使用して実行されます。注:コンテナーが実行されている場合でもdocker attachを使用する必要があります。指摘する価値があります。 VMインスタンスごとに実行できるコンテナは1つだけです。Kubernetesを使用して、VMごとに複数のコンテナをデプロイします(手順は似ています)。すべてのオプションの詳細を確認してくださいこの投稿の下部にあるリンクにあります。

    gcloud beta compute instances create-with-container <desired instance name> \ --zone <google zone> \ --container-stdin \ --container-tty \ --container-image <google repository path>:<tag> \ --container-command <command (in quotes)> \ --service-account <e-mail>

    ヒント_gcloud projects list_を使用して、使用可能なgcloudプロジェクトを表示できます

  4. SSHをコンピューティングインスタンスに追加します。

    _gcloud beta compute ssh <instance name> \ --zone <zone>_

  5. インスタンスを停止または削除します。インスタンスが停止した場合でも、静的IPや永続ディスクなどのリソースに対して課金されます。請求がまったく発生しないようにするには、インスタンスの削除を使用します。

    a。 停止

    _gcloud compute instances stop <instance name>_

    b。 削除

    _gcloud compute instances delete <instance name>_

関連リンク:

7
ZaxR

GoogleのGitHubサイトでは、Dockerを含むGCEイメージを提供しています。 https://github.com/GoogleCloudPlatform/cloud-sdk-docker-image

4
garamirez

簡単です:

  • compute Engineインスタンスの作成
  • curl https://get.docker.io | bash
4
David Gageot

docker-machineの使用は、DockerでGoogleコンピューティングインスタンスをホストするもう1つの方法です。

docker-machine create \
  --driver google \
  --google-project $PROJECT \
  --google-zone asia-east1-c \
  --google-machine-type f1-micro $YOUR_INSTANCE

このマシンをGoogleクラウドコンピューティングインスタンスにログインする場合は、docker-machine ssh $YOUR_INSTANCEを使用します。

docker machine driver gce を参照してください

3
Evan Lin

次のリンクを使用できます: https://cloud.google.com/cloud-build/docs/quickstart-docker#top_of_page

上記のリンクでは、Cloud Buildを使用してDockerイメージを作成し、そのイメージをContainer Registryにpushする方法について説明しています。最初にDockerfileを使用してイメージをビルドし、次にCloud Buildのビルド構成ファイルを使用して同じイメージをビルドします。

1
Kervin L

GCEインスタンスでのDockerの実行はサポートされていません。インスタンスがダウンし、再度ログインできなくなります。 GCEから提供されたDockerイメージを使用して、インスタンスを作成できます。 enter image description here

1
Balaji

Googleクラウド仮想マシンがUbuntuに基づいている場合は、次のコマンドを使用してdocker Sudo apt install docker.ioをインストールします

1
ramnar

GCE上のコンテナ のサポートが改善されました。

Google Compute Engineは、Dockerコンテナのサポートを拡張しています。このリリースは、Dockerと オープンソースエージェント を含むコンテナー最適化OSイメージのオープンプレビューであり、コンテナーを管理します。以下に、GoogleのDockerに関心のあるコミュニティと対話するためのリンク、オープンソースリポジトリ、および開始するための例を示します。私たちはあなたのフィードバックを聞いて、あなたが構築するものを見るのを楽しみにしています。

これは現在(2014年5月27日現在)Open Previewであることに注意してください。

これは、仮想マシン上のコンテナのOpen Previewリリースです。その結果、後方互換性のない変更が行われる可能性があり、SLAまたは非推奨ポリシーの対象ではありません。お客様は、このOpen Previewリリースを使用する際にこれを考慮する必要があります。

1
Misha Brukman

計算インスタンスの作成中に取得することをお勧めします

  1. VMインスタンスページに移動します。
  2. [インスタンスを作成]ボタンをクリックして、新しいインスタンスを作成します。
  3. [コンテナー]セクションで、[コンテナーイメージの展開]をオンにします。
  4. コンテナーイメージでコンテナーイメージ名を指定し、必要に応じてコンテナーを実行するオプションを構成します。たとえば、コンテナイメージにgcr.io/cloud-marketplace/google/nginx1:1.12を指定できます。
  5. 作成をクリックします。
0
Arun Singh