Docker 環境をステージング環境へ(GCP編)

GCP環境にDockerコンテナを作る方法はいくつかあるようです。
・GCE(Compute Engine)のVMインスタンス作成時に、コンテナ イメージをデプロイ
・Google Kubernetes Engine(GKE)にクラスタ環境を構築してデプロイ
・その他色々・・・
公式ドキュメントはこちら
Compute Engine への Docker コンテナのデプロイ
https://cloud.google.com/compute/docs/instance-groups/deploying-docker-containers?hl=ja

で、今回はシンプルそうな、VMインスタンス時にデプロイする方法を試します。
公式ドキュメントはこちら
VM およびマネージド インスタンス グループへのコンテナのデプロイ
https://cloud.google.com/compute/docs/containers/deploying-containers?hl=ja&_ga=2.46174759.-1895702560.1541304432
ですが、どうも分かりにくい。いくつか試してくれているサイトがありますが、どうも面倒なようにしか見えない・・・

インスタンス作成時は、Always Freeの条件

f1-micro インスタンス(1 か月あたり、バージニア州北部 [us-east4] を除く米国リージョンのみ)

を踏まえて。

ただこれ、イメージは一つだけなんですね。後から追加できるかな・・・とりあえず、DBのイメージだけ指定します。

とりあえず、起動はします。
DBだけだと動いているか分かりませんが、SSHで入って確認してみます。
入ると

########################[ Welcome ]########################
# You have logged in to the guest OS. #
# To access your containers use ‘docker attach’ command #
###########################################################

と表示されています。

docker images

で目的のイメージが入っていることが確認できます。
であれば、もう一つのイメージはpullを叩いても良いか。
で、pullコマンドはContainer Registryの画面で表示させることができるというので、見に行ってみると、

「pullコマンドを表示」だけでなく「GCEにデプロイ」という魅力的なメニュー。試してみようとしましたが、新しいインスタンスをもう一つ作ることになるようです。
ということで、pullコマンドをコピーして実行。
・・・こちらでも認証が必要と言われる、しかも、この環境にはgcloudは入っていない。となる作戦は変わってきます。
というか、

各 VM インスタンスにデプロイできるコンテナは 1 つのみです。1 つの VM インスタンスに複数のコンテナをデプロイする必要がある場合は、Kubernetes Engine を検討してください。 複数のコンテナを Compute Engine インスタンスにデプロイする必要がある場合は、チームにお問い合わせください。

です。

GKE

一瞬考えましたが、結局インスタンスは複数必要になるのでは。
ということで、見送り。

結論

であれば、結局、普通にGCE(じゃなくてもよいけど)にDocker-composeインストールして、作ったイメージを使えば良いのでは。でも、またプライベートでのイメージを引っ張ってくるところで泣きそうなので、それはもう少しDockerの理解をしてからにすることにして、普通の公開イメージで環境を作って、いじったところを反映する形にしようかなという結論に至りました。
ダメですね・・・