Keycloak & OAuth2 Proxy を docker イメージでテストする
先日、distroless/static ベースの OAuth2 Proxy コンテナイメージを作成した というメモを書きました。 これらのコンテナを使って Keycloak と OAuth2 Proxy を連携させ、Web アプリケーションに見立てた Nginx を認証で保護する方法をメモしておきます。
先日、distroless/static ベースの OAuth2 Proxy コンテナイメージを作成した というメモを書きました。 これらのコンテナを使って Keycloak と OAuth2 Proxy を連携させ、Web アプリケーションに見立てた Nginx を認証で保護する方法をメモしておきます。
Louketo に EOL notice として下記の記載があります。 Sunsetting Louketo Project にも同様の記載があります。
Louketo Proxy reached end of line in November 21, 2020. This means that we no longer support, or update it. The details are available here.
FAQ に下記の記載もあります。
Are there any alternatives I should use instead? OAuth2 Proxy is very close in a set of capabilities to Louketo Proxy and we highly suggest you investigate it as a replacement.
上述の通り、OAuth2 Proxy が代替候補として記載されています。 OAuth2 Proxy は golang で書かれており、シングルバイナリで動作する為、デプロイも簡単です。 OAuth2 Proxy は公式にも docker コンテナイメージが配布されているのですが、distroless/static ベースなイメージを作成したのでメモしておきます。
hadolint は Dockerfile 用の linter です。 シングルバイナリなので簡単にインストール&利用開始することが可能です。 今回は hadolint の使い方をメモしておきます。 検証は RockyLinux8 上で行いました。
Keycloak を Docker コンテナで起動する手順をメモしておきます。 RockyLinux8 上で検証しました。
以前に以下のメモを書きました。
今回は Amazon Linux2 へ Docker で Zabbix 環境をインストールする手順をメモしておきます。 検証では t3a.micro (2vCPU / 1GB メモリ) を利用したのですが、コンテナは起動するものの、再起動 (docker compose restart -d) するとフリーズすることがあった為、実用するのであればしっかりサイジングする必要がありそうです。
Amazon Linux2 では Amazon Extras で Docker が提供されています。 docker-compose をインストールしたい場合、CPU アーキテクチャに応じた docker-compose のバイナリを選択する必要があります。
| ファミリー (一例) | アーキテクチャ |
|---|---|
| t2, t3, t3a | amd64 |
| t4g | arm |
今回は Amazon Linux2 へ docker と docker-compose をインストールする手順をメモしておきます。
以前に IP アドレスの計算をしてくれる Web アプリケーションを作成したのですが、distroless を使ったマルチステージビルドの練習をすべく、この Web アプリケーションを docker コンテナイメージにしてみました。 作成した Docker コンテナイメージは以下で公開しています。
この Docker コンテナイメージを Nginx を使った HTTP Proxy 配下で動作させる方法をメモしておきます。
オフラインで Docker コンテナイメージを利用したい場合、コンテナイメージをローカルに保存 / ローカルから読み込むことが出来ます。 今回は Docker コンテナイメージをローカルへ保存する or ローカルから読み込む手順をメモしておきます。
File Browser は go-lang で書かれた Web ベースのファイルマネージャです。 簡単に試したところ、かなり軽快に動作します。 今回は Docker を使って簡単に File Browser を試す手順をメモしておきます。 テストには Rocky Linux8 を利用しました。
Docker でボリュームをマウントする際は絶対パスで指定します。 これを相対パスで指定するとエラーになってしまいます。
1 2 3 | |
これを回避するには $(pwd) 環境変数などを用いて相対パスを表現します。 この方法であればエラーにならず、実行することが出来ます。
1 | |
もしくは docker-compose を利用します。