Windows 10 Homeでdockerを使ってgcloud SDK環境を構築する
目次
- 1 はじめに
- 2 実施手順
- 2.1 docker desktop for Windows をインストールする
- 2.2 gcloud SDKのイメージを Pull リクエストする
- 2.3 gcloud SDK のコンテナを起動する
- 2.4 コンテナのシェルにログイン
- 2.5 sshd のインストール
- 2.6 vim のインストール
- 2.7 ssh ログイン用のユーザを作成する
- 2.8 起動スクリプトの設定
- 2.9 今までの設定を反映させたイメージの作成
- 2.10 作成したイメージからコンテナを改めて起動
- 2.11 コンテナアクセスのためのショートカットの作成
- 2.12 ショートカットからコンテナにアクセスしてみる
- 2.13 Googleアカウント の Authentication の実施
- 2.14 GCPプロジェクトの設定
- 3 最後に
はじめに
本記事ではWindows 10 Home上に gcloud SDK環境を構築する手順を説明します。WindowsのコマンドプロンプトやPowerShell上で動作するgcloudの環境構築でも良いのですが、あくまでLinuxのシェルが使える環境が良く、何か設定ミスなんかがあった際に最初から簡単にやり直せるのは何かと考えたときに docker desktop for windowsで環境構築するのが良いのでは、と思った次第です。
本記事を最後まで読んで頂いた際に出来上がるものは以下です。
”Windows 10 が立ち上がったら次の10秒で gcloud のコマンドが叩ける状態を作る”
もしご興味がありましたらそのまま読み進めてください。
実施手順
docker desktop for Windows をインストールする
docker desktop のインストールについてはこちらの記事を参考にしてください。
gcloud SDKのイメージを Pull リクエストする
docker desktop for Windows がインストール済みの環境で PowerShell を起動し、以下のコマンドでイメージのダウンロードを実施してください。
イメージサイズが大きいので環境にも依りますが、数分程度はかかります。
docker pull gcr.io/google.com/cloudsdktool/cloud-sdk:latest

gcloud SDK のコンテナを起動する
こちらはどのようにコンテナを利用するかによりますが、私の場合は以下のコマンドを使用しました。
docker run -it -d –name gcloud-config gcr.io/google.com/cloudsdktool/cloud-sdk:latest

コンテナのシェルにログイン
docker desktop から作成したコンテナの CLI を開いてください。

sshd のインストール
以下のコマンドで sshd をインストールしてください。
apt install ssh

vim のインストール
以下のコマンドで vim をインストールしてください。(他のエディタでも構いません)
apt install vim

ssh ログイン用のユーザを作成する
以下のコマンドでユーザを追加してください。ユーザ名は任意ですが、私のは pi というユーザー名とします。
adduser pi

また、以下のコマンドで 作成した user に sudo の権限をつけておいてください。
gpasswd -a pi sudo

起動スクリプトの設定
本来であれば systemctl のコマンドを使って起動時の sshd のサービスを起動するのが簡単なのですが、WSL2環境においてはそれが容易ではないようです。そのため、以下のスクリプトを用意して sshd をコンテナ起動時に実行できるようにします。また、スクリプトファイルに permission も設定しておくことを忘れないでください。
vi init.sh
chmod 777 init.sh

init.sh ファイルに書き込む内容は以下の内容とします。
#!/bin/bash
service ssh start
tail -f /dev/null

今までの設定を反映させたイメージの作成
以下のコマンドで 今まで実施してきた設定を反映させたイメージを作成します。
docker stop gcloud-config
docker commit gcloud-config mygcloud
docker rm gcloud-config

作成したイメージからコンテナを改めて起動
以下のコマンドを使用します。例えば PCの再起動時に自動でこのコンテナを起動するように、–restart=alwaysのオプションと、sshで接続するためのポートフォワーディングのオプションを追加しています。
docker run -it -d -p 49153:22 –restart=always –name gcloud-config mygcloud ./init.sh

コンテナアクセスのためのショートカットの作成
Windowsのデスクトップで右クリックして出るメニュー中から 新規作成 -> ショートカットを選択してください。

何のショートカットを作成するのかを聞かれますので、参照ボタンを押して teratermpro.exe を選択してください。私の Windows 10 Home の環境で teratermpro.exe を選択すると以下のようなイメージになりました。

ここで完了ではなく、プログラムの後ろに以下の設定を追加してください。user には先ほどコンテナで作成したユーザ名、passwd にはユーザのパスワードを入力してください。(あまり影響ありませんが、パスワードなので以下の例ではパスワードをXXXXXXとしています。)
127.0.0.1:49153 /user=pi /passwd=XXXXXX
最終的に以下のような設定となります。
“C:\Program Files (x86)\teraterm\ttermpro.exe" 127.0.0.1:49153 /user=pi /passwd=XXXXXX
これで次をクリックし、最後にショートカットの名前を付けてください。

ショートカットからコンテナにアクセスしてみる
作成したショートカットをダブルクリックすると以下のような画面が表示されます。このまま続行をクリックしてください。

先ほどショートカートに設定したユーザー名、パスワードが設定された状態で表示されますので、そのままOKとしてください。

するとどうでしょう。ヌルリとコンテナのシェルが起動することを確認できたかと思います。あともうひと踏ん張りです。

Googleアカウント の Authentication の実施
以下のコマンドで gcloud の Authentication を実施してください。
gcloud auth login
実行すると https から始まる URL が表示されるので、WebブラウザからこちらのURLにアクセスすると、google アカウントの認証が行われます。認証後に入手できるコードを verification code として入力してください。




GCPプロジェクトの設定
以下のコマンドで google cloud のプロジェクトを設定してください。私の場合は mqtt-test-282007 としましたが、こちらは実際に使われている Project IDを入れてください。
gcloud config set project mqtt-test-282007

これでこの記事でお伝えしたかった内容は以上です。ここまで設定すれば、PCを再起動しようが、コンテナが自動的に立ち上がってくれますので、作成したショートカットをクリックするだけで gcloud のコマンドが入力できる状態となります。改めて google アカウントへのアクセス権や、プロジェクトを設定する必要もなくなります。
最後に
本記事では Windows 10が立ち上がった後、10秒で gcloud のコマンドが叩ける環境を作る方法を説明しました。セキュリティ的には多少危ない橋も渡っていますので、実施はあくまで自己責任と考えてください。
ただ…便利なのは間違いありませんので、私の環境はしばらくこれで使っていこうと思います。何かご不明点がありましたらお気軽にお問合せ下さい。
ディスカッション
コメント一覧
まだ、コメントがありません