Skip to content

Docker

docker build のキャッシュを削除する

docker build 時のキャッシュの削除方法をメモしておきます。 結論としては docker builder prune --force を実行することでキャッシュを削除出来ます。 現状のキャッシュ容量は docker system df で確認出来ます。 下記の場合、約 4GB のキャッシュが存在しています。

golang で docker サブコマンドを実装する

docker-compose 当初 Python で書かれていましたが、v2 からは golang で書き直され、使い方も (v1 の docker-compose では無く) docker compose 〜 といった具合に利用するように変更されました。 docker コマンドのサブコマンドとして動作しているように見えますが、これは cobra を使って実装されているようです。 以下は cobra の公式ページからの引用です。

Cobra is both a library for creating powerful modern CLI applications as well as a program to generate applications and command files.

docker サブコマンドとしての実装例は下記が参考になります。

  • https://github.com/docker/cli/blob/master/cli-plugins/examples/helloworld/main.go
  • https://github.com/docker/compose/blob/v2/cmd/main.go

上記を参考に、更にダイエットして「最小の docker サブコマンド」をメモしておきます。

distroless/static ベースの OAuth2 Proxy コンテナイメージを作成した

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 ベースなイメージを作成したのでメモしておきます。

AmazonLinux2 上に Docker で Zabbix を構築する

以前に以下のメモを書きました。

今回は Amazon Linux2 へ Docker で Zabbix 環境をインストールする手順をメモしておきます。 検証では t3a.micro (2vCPU / 1GB メモリ) を利用したのですが、コンテナは起動するものの、再起動 (docker compose restart -d) するとフリーズすることがあった為、実用するのであればしっかりサイジングする必要がありそうです。