Renderにdockerコンテナをデプロイする

docker

概要

2022年8月25日にHerokuの無料枠が廃止されると公式から発表されました。その発表によると廃止される無料枠は「Heroku Dyno」、「Heroku Postgres」、「Heroku Data for Redis」の3つのサービスです。

無料でdockerコンテナが動かせることが魅力に感じて「Heroku Dyno」をよく利用していました。$25/month払えば継続利用できますが、ホビー用途では無料にしたいので他のサービスを探しました。現在ではRenderRailwayFly.ioなどが無料でdockerコンテナが動かせるようです。

この記事では上記3つの中からRenderにdockerコンテナをデプロイしていきたいと思います。

ユーザ登録

RenderではGitHub、GitLab、Googleのアカウントもしくはメールアドレスによってユーザ登録できます。私はGitHubアカウントでユーザ登録したのでGitHubアカウントでログインします。

ではログインします。

リポジトリ

次にRenderに認識させるGitHubのリポジトリを選択します。すべてのリポジトリを選択することもできますが、ここでは、あらかじめ作成しておいたweb-rustというリポジトリを認識させます。

あらかじめ作成しておいたリポジトリはこちらです。Actix-webというWebフレームワークを使用したWebアプリケーションです。アクセスすると文字列を返してくる簡単なWebアプリケーションになっています。

プロジェクトの作成

コンテンツの選択

まず、作成したいコンテンツの種類を選択します。ここではNew Web Serviceを選択します。

次に、さきほど認識させたGitHubのリポジトリに接続します。

プロジェクトの設定

GitHubのリポジトリにDockerfileがあるため、Dockerを利用すると認識したようです。そのおかげもあって、EnvironmentがDockerとなっています。

RenderのサイトにもDockerfileにしたがって自動でビルド、デプロイをするというような記述があります。

Automated builds and deploys for Dockerfiles in both public and private Git repositories.

render.com公式サイト – https://render.com/docs/docker

その他の項目も表のように設定します。プランはFreeのプランを選択します。最後にCreate Web Serviceボタンを押します。

項目設定値
Nameweb-rust
Root Directoryデフォルト設定
EnvironmentDocker
RegionSingapore (Southeast Asia)
Branchmain

ビルド&デプロイ

Create Web Serviceボタンを押すとビルドが始まります。ビルドが始まったことは黒い背景のlogが更新されていればわかると思います。

最後にDONEが表示されていればデプロイまで完了しています。簡単なWebアプリケーションですがビルド&デプロイに15分以上かかっています。少し時間がかかっていますが無料枠なので仕方ないですね。それでは、画面左上のURLにアクセスしてみましょう。

動作確認

下図のようにHello nekochan!と表示されていればOKです。

コメント