LoginSignup
27

More than 5 years have passed since last update.

docker イメージ を GCE で起動する方法

Posted at

目的

ローカルで作成したdockerイメージ(webサーバなど)を作成し、Google Cloud へのアップし起動する方法を忘れるので、調べた内容をメモします

目次

  1. ローカルの docker イメージ を Google Container Registry にアップ
  2. Google Cloud Console で GCE(VMインスタンス) の作成

事前準備

手順

1. ローカルの docker イメージ を Google Container Registry にアップ

アップする docker イメージ のタグづけ

Google Container Registry の サイトを参照すると以下の通りです。

docker tag [SOURCE_IMAGE] [HOSTNAME]/[PROJECT-ID]/[IMAGE]

ざっくり説明すると、、、

です。

具体的には以下のように、作成します(HOSTNAME以外のパラメータは適当です)。

docker tag test us.gcr.io/test-123456/test

イメージの push

事前準備として、Container Registry を認証する必要があり、gcloud を Docker 認証ヘルパーとして使用します。使用方法は以下の通りです。

gcloud auth configure-docker

Google Container Registery へ docker イメージを push します。

docker push us.gcr.io/test-123456/test

2. Google Cloud Console で GCE(VMインスタンス) の作成

GCE(VMインスタンスの作成)

Google Cloud Console にて、該当プロジェクト にて、
Compute Engine -> VMインスタンス
を選択する

スクリーンショット 2019-01-19 0.15.28.png

インスタンス一覧画面にて、「インスタンスを作成」を選択する
以下を変更後、「作成」ボタンを選択する
- 名前:任意の名称
- リージョン:us-east1
- コンテナ:チェックを入れる
- コンテナイメージ:pushしたdockerイメージ(us.gcr.io/test-123456/test)
- マシンタイプ:micro(共有vCPU x 1)起動後、パフォーマンスが足りない時にはインスタンス一覧画面でリコメンドあり
- ファイアウォール:HTTPトラフィックを許可

スクリーンショット 2019-01-19 0.22.11.png

スクリーンショット 2019-01-19 0.22.46.png

GCEのポートの解放

docker で 80ポート以外を利用している場合には、GCE のポートの開放が必要です。
今回は、default の http のポートに 8050 を追加します
※ 本来はファイアウォールルールを追加して、VMインスタンスでルールを指定する方が望ましいです

Google Cloud Console にて、該当プロジェクト にて、
VPNネットワーク -> ファイアウォール -> default-allow-http の項目を選択 -> 「編集」
を選択し
プロトコルとポート の 指定したプロトコルとポート を以下の通り、変更後、「保存」ボタンを押す。

tcp:80,8050

スクリーンショット 2019-01-19 0.52.16.png

インスタンスの起動

Google Cloud Console にて、該当プロジェクト にて、
Compute Engine -> VMインスタンス
を選択し、作成したインスタンス に チェックを入れ、 右上の「開始」ボタンを押す

数分後、インスタンスが起動し、外部IP が振られるので、そのIPを利用し、接続確認を行なう

今後の課題

http での接続では、リクエスト/レスポンスの内容が丸見えになってしまい気持ちが悪いので、
GCE へのアクセスを https で接続したい

参考URL

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
27