環境
- ドメイン
- お名前.comの**.work**は最初の1年間は1円で取れる。その後の更新は数百円レベルで毎年かかるようだ
- サービス基盤
- GCPのf1-microは永久に無償
- Cloud DNS
- これはどうやっても無償にはならないが、最初に$300分もらえるのでそれで収まる
f1-microをコンテナ用に作る
これはContainer-Optimized-OSというそのままずばりのものが用意されている。
Chrome OSベースの様で軽いようであるが、いろいろ不便ではある(pingすらない)。
無償のf1-microの立て方はこちらを見てください。
※これから始めるGCP(GCE) 安全に無料枠を使い倒せ
上記の手順でブートディスクのところだけ下記のように変更する。
このままではdocker-composeコマンドが使えない。公式に手順があるのでそちらを参考にする。
和訳済みのものもある。
※GCE上のContainer-Optimized OSでDocker Composeを使う(和訳)
この手順のバージョンのところを最新のものに変えて実行しよう。
最新バージョンはこちら。RCは正式版ではないので注意しよう。
動きとしては、docker-compose用のコンテナを立ててそこから実行するようだ。
IPを静的にする
デフォルトだとエフェメラルとなっており、再起動するごとにグローバルIPアドレスが変わる。
下記のページを参照して設定を変更する。
※GCP Compute Engineで静的IPアドレスを割り当てる
Cloud DNS
お名前.comで取ったそのままだと上記の静的IPとドメイン名を結び付けられない。
以下の手順を行えばよい。
※Google Cloud DNSでIPアドレスとドメイン名を紐付ける
※ネームサーバーの変更
しばらくするとアクセスできるようになる。
後はコンテナを配置するだけ
docker run --name hogehoge -d -p 80:80 nginx
これでドメインにアクセスすればいつものWelcome to nginx!が表示されるはず。