このページの内容

Awesome Docker

Dockerを扱う資料や関連プロジェクトをまとめたAwesomeリストです。

目次

プロジェクト

公式プロジェクト

エンジンとランタイム

  • colima - macOS(およびLinux)向けのコンテナランタイム(最小設定で導入)
  • containerd - オープンで信頼性の高いコンテナランタイム.
  • cri-o - オープンコンテナイニシアティブに基づくKubernetesコンテナランタイムインターフェースの実装.
  • gVisor - コンテナ用アプリケーションカーネル.
  • lxc - LXC - Linuxコンテナ.
  • Mocker - Appleのコンテナ化フレームワークに基づくmacOS用Docker対応コンテナCLI
  • podman - Libpodはコンテナポッドを作成するためのライブラリ。Podmanの本家サイト。
  • runc - OCI仕様に従ってコンテナをスパウニングおよび実行するCLIツール.
  • runtime-tools - OCIランタイム仕様との作業を行うためのツールのコレクション.
  • youki - Rustで書かれたコンテナランタイムで、OCIランタイム仕様を実装している.

イメージの構築

ビルダー

新しい画像の作成を支援または簡略化するためのアプリケーション

  • ansible-bender - ansibleおよびを活用するツール. buildah
  • apko - apkパッケージから作成される、宣言型のOCIイメージビルダー;再現性を設計上確保。
  • buildah - OCIイメージの作成を支援するツール。
  • BuildKit - 並列処理、キャッシュ効率が高く、Dockerfileに依存しないビルダーツールキット。
  • buildx - BuildKitをバックエンドとして、マルチプラットフォームビルドをサポートする公式Docker CLIプラグイン。
  • cekit - OpenShiftが異なるビルドエンジンを使用してベースイメージを構築するために使用するツール。
  • dlayer - Dockerイメージの層を分析するツール。
  • docker-companion - Golangで書かれたコマンドラインツールで、Dockerイメージをスクラップおよび展開する。
  • docker-repack - Dockerイメージをより小さい、効率的なバージョンに再パッケージし、取得速度を著しく高速化。
  • DockerSlim 肥満したDockerイメージを縮小し、最も小さなイメージを作成する。
  • earthly - DockerfileとMakefileの構文を組み合わせたコンテナ化されたビルド自動化ツール。
  • essex - Dockerベースのプロジェクト向けのテンプレート:Essexはbashで書かれたCLIツールで、Makefileを駆動するワークフローを用いて、迅速にクリーンで一貫したDockerプロジェクトを構築できます。
  • HPC Container Maker - Pythonの高レベルレシピからDockerfileを生成し、高性能コンピューティングコンポーネントの構成要素を含むようにします。
  • img - スタンドアローン型であり、デーモンなし、権限なしのDockerfileおよびOCI互換のコンテナイメージビルダー
  • ko - DockerfileなしでGoアプリケーションのビルドとデプロイをコンテナイメージとして行います。
  • nix2container - NixでOCIイメージをビルドする際に、docker loadのループを回避します。
  • packer - Hashicorpのツールでマシンイメージを構築し、chef、puppet、ansibleなどの構成管理ツールと統合されたDockerイメージを提供します。
  • Production-Ready Python Containers - :yen:はPythonアプリケーション向けにプロダクション対応のDockerイメージを生成するためのテンプレートです。
  • RAUDI - 3rd partyソフトウェアの新しいリリース/アップデート/コミットがあるたびに、Dockerイメージを自動的に更新(およびオプションでDocker Hubにプッシュ)するツールです。
  • runlike - 実行中のコンテナから、コマンドとオプションを生成します。 docker run
  • Whaler - DockerイメージをDockerfileに逆転するためのプログラムです。

ベースイメージ

最小限の構成、強化された、または用途に特化したコンテナベースイメージ

  • Chainguard Images - Wolfi上で構築された、最小限の署名済みSBOM認証済みコンテナイメージです。
  • distroless - OSを除いた言語に特化したDockerイメージです。
  • melange - 宣言的なYAMLからapkパッケージをビルドし、apkoと使用可能にします。
  • pglayers - 事前に準備されたPostgreSQL拡張機能を組み立て可能なDockerレイヤーとして提供。50以上の拡張機能、使用可能な組み合わせイメージ(フル、Azure対応)。
  • Wolfi - コンテナ向けに設計されたUndistro Linux。glibcベースで、署名済み、毎日SBOMを提供。

Dockerfile

  • Dockerfile Generator dfgは、さまざまな入力チャンネルを使用して有効なDockerfileを生成するGoライブラリおよび実行可能ファイルです。
  • Dockershelf - ユニバーサルで効率的で軽量なDockerレシピを集約するリポジトリ。イメージはTravisのcronジョブにより毎日更新、テスト、公開されます。
  • Dofigen - YAMLまたはJSON形式の簡易な説明を使用してDockerfileを生成するツールです。
  • Trsuted Builds - 信頼できる自動Dockerビルド。Dockerfileプロジェクトは、さまざまな有名なオープンソースソフトウェアサービスのDockerfileを中央リポジトリとして維持しています。

リンター

  • Dockadvisor - 60以上のルール、品質スコア、セキュリティチェックを備えた軽量なDockerfileリーダー。
  • docker-image-size-limit - Dockerイメージのサイズを監視するためのツールです。
  • Hadolint - Dockerfileのリントツールで、ベストプラクティスや一般的な誤りをチェックし、かつRUNのインストラクションに書かれた任意のbashもリントできる。

イメージのライフサイクル

レジストリ

Dockerイメージを安全に保管するためのサービス

  • Amazon Elastic Container Registry - :yen: Amazon Elastic Container Registry (ECR) は、開発者がDockerコンテナイメージを保存・管理・デプロイできる完全に管理されたDockerコンテナリジストリである。
  • Azure Container Registry - :yen: DockerのプライベートリジストリをAzureの第一クラスリソースとして管理できる。
  • Cloudsmith - :yen: 全ての公開およびプライベートDockerリジストリ(他にもHelmチャートを含むKubernetesエコシステムなど)を第一クラスにサポートする、完全に管理されたパッケージ管理SaaS。無料プランが豊富で、オープンソースには完全無料である。
  • Container Registry Service - :yen: チームや組織向けのハーバーベースのコンテナ管理ソリューションとしてのサービス。無料プランはプライベートリポジトリ用に1GBのストレージを提供。
  • Cycle.io - :yen: バレーメタルベースのコンテナホスティング。
  • DigitalOcean - :yen: DigitalOceanのコンテナリジストリ。
  • Docker Hub Docker Inc.が提供する。
  • Docker Registry v2 - The Docker toolset to pack, ship, store, and deliver content
  • Dragonfly - p2p技術に基づいた効率的で安定かつ安全なファイル配布およびイメージアクセラレーションを提供。
  • GCP Artifact Registry - :yen: Google Cloud Platform上での高速かつプライベートなDockerイメージストレージ。
  • Gitea Container Registry - Giteaに統合されたDockerリジストリ、プライベートかつ小規模なイメージホスティングに最適。
  • GitHub Container Registry - GitHubが提供するDockerイメージの保存と管理ソリューションで、GitHub Actionsとの密接な統合を実現。
  • GitLab Container Registry - イメージをGitLab CIで使用するためのリジストリに特化。
  • Granite Registry - :yen: プライベートDockerイメージを、それらを引き込むワークロードと共に保管し、スコープ別に読み取り専用および読み取り・書き込み可能なキーを提供。
  • Harbor オープンソースの信頼できるクラウドネイティブリジストリプロジェクトで、コンテンツの保存・署名・スキャンを実施。複製、ユーザー管理、アクセス制御、活動ログの監視をサポート。
  • JFrog Artifactory - :yen: アーティファクトリポジトリマネージャーであり、プライベートDockerリジストリとしても利用可能。
  • kontain.me - 必要に応じてコンテナイメージリジストリで、イメージが引き出された際に構築・提供を行う。
  • Kraken - Uberの高度にスケーラブルなP2P Dockerリジストリで、数TBのデータを数秒で配布できる。
  • NORA - Docker、Maven、npm、Cargo、PyPIを含む複数プロトコルをサポートする軽量アーティファクトリジストリ。32MBのバイナリで実行可能。プルスルーキャッシュ、Web UI、Prometheusメトリクス、RBAC認証を提供。
  • nscr - 軽量で自立したコンテナリジストリで、簡単に実行・維持できる。
  • Quay.io - :yen: プライベート Docker リポジトリの安全なホスティング。
  • Registryo - オンプレミス Docker リジストリ向けのUIおよびトークンベースの認証サーバー。
  • RepoFlow - Dockerを含むPyPI、Maven、npm、Helmなどの他のフォーマットをサポートするシンプルで使いやすいパッケージ管理プラットフォーム。スマート検索、組み込みのDockerイメージスキャン、そして自前ホスティングおよびクラウド利用向けの優れた無料オプションを提供。
  • Sonatype Nexus Repository - ソフトウェアサプライチェーン全体におけるバイナリとビルドアーテファクトの管理。

レジストリCLI

OCI/Dockerレジストリ内のイメージを検査・コピー・操作するためのデーモンなしコマンドラインツール

  • crane - 軽量なCLIでリジストリイメージを操作する、go-containerregistry
  • go-containerregistry - コンテナリジストリとの対話に必要なGoライブラリおよびCLIツール(cranegcraneregistry)。
  • oras - 任意のOCIリジストリにOCIアーテファクトをプッシュおよびプルできる。
  • regctl - デーモンなしのリジストリクライアント:OCIイメージのコピー、確認、変更、署名を行う。
  • skopeo - リモートイメージリジストリとの対話:情報の取得、イメージのコピー、コンテンツの署名を行う。

イメージスキャンとSBOM

画像の脆弱性スキャナー、SBOM生成ツール、ディジェストピンニングツール。商業的な製品は :yen: と記載。

  • Anchor - Dockerfile内の依存関係をピン留めることで、再現可能なビルドを確保するツール。
  • Anchor Enterprise - :yen: イメージにCVE脆弱性やカスタムセキュリティポリシーに対して分析を行う。
  • BomLens - コンテナイメージ(およびソースコード、バイナリ、ファームウェア)をCycloneDX SBOMにスキャンし、脆弱性、ライセンス、通知報告を提供。単一のDockerイメージとして配布され、Web UIを備える。
  • Clair - ClairはアプリケーションおよびDockerコンテナ内の脆弱性の静的解析を行うオープンソースプロジェクト。
  • Docker Scout - Dockerの公式CLIでSBOM生成、脆弱性分析、ポリシー評価を行う。
  • Grype - コンテナイメージ、ファイルシステム、SBOMに対する脆弱性スキャンツール。
  • oscap-docker - OpenSCAPはoscap-dockerツールを提供し、Dockerコンテナおよびイメージのスキャンに使用される。
  • pindock - Dockerfileおよびコンポジットファイル内のDockerイメージのハッシュをピン留めおよび更新する。
  • Syft - コンテナイメージおよびファイルシステムからソフトウェアバーチャルマテリアル(SBOM)を生成するCLIツールおよびライブラリ。
  • Trivy - Aqua Securityのオープンソースでシンプルかつ包括的なコンテナ脆弱性スキャナー(CIに適している)。

サプライチェーン

コンテナイメージへの署名、認証、プロVENANCE。

  • cosign - OCIアーテファクトに対するコンテナ署名、検証、透明性ログ。
  • in-toto - サプライチェーンアタステーションのフレームワーク;SLSAおよびプロヴァインスのコシングを支える
  • policy-controller - Kubernetesのアドミッションコントローラーがコンテナイメージにコシング署名を強制する
  • witness - ビルドパイプラインにおけるイン・トゥ・アタステーションの生成と検証

コンテナの実行

構成管理

  • Composerize - docker runコマンドをdocker-composeファイルに変換
  • ctk - コンテナベースのワークロード向けのビジュアルコンポーザ
  • kompose - Docker ComposeからKubernetesへ変換
  • plash - コンテナの実行とビルドエンジン—Docker内に実行される
  • podman-compose - podmanでdocker-compose.ymlを実行するスクリプト
  • Smalte – Dockerコンテナ内で静的設定が必要なアプリケーションを動的に構成

オーケストレーション

  • CloudSlang - CloudSlangはDockerプロセス自動化用のワークフローエンジン
  • docker rollout - Docker Composeサービスのゼロダウンタイムデプロイメント
  • Kubernetes - Googleが提供するオープンソースなDockerコンテナのオーケストレーションシステム
  • Mesos - コンテナ・VM・物理ホストのリソース/ジョブスケジューラ
  • Nebula - 大規模分散クラスタを管理するためのDockerオーケストレーションツール
  • Nomad - 任意のスケールでアプリケーションを簡単にデプロイ可能。分散型・高可用性・データセンターアwareなスケジューラ
  • Rancher - 生産環境でのDocker運用を完全にサポートするオープンソースプロジェクト
  • Swarm-cronjob - Swarm上で時間ベースのスケジュールでジョブを作成

デプロイとプラットフォーム

自前で運用可能なクラウドプラットフォーム(PaaS/CaaS、デプロイ自動化)。商業的な製品は :yen: と記載。

  • Amazon ECS - :yen: EC2上のマネジメントサービスでDockerコンテナをサポート
  • Appfleet - :yen: グローバルにコンテナサービスをデプロイ・マネジメントするエッジプラットフォーム;低遅延のためにトラフィックを最も近い場所にルーティング
  • Azure AKS - :yen: 完全に管理されたKubernetesコンテナオーケストレーションサービス
  • blackfish - CoreOSをベースにしたVMで、開発および生産環境向けにSwarmクラスタを構築します
  • BosnD - BosnD、ボートスワインデーモン — ディナミックに変化するコンテナ環境向けの動的設定ファイル作成ツールおよびサービスリロードツール
  • caprover - [以前はCaptainDuckDuckと呼ばれていた] 自動スケーラブルWebサーバーパッケージ(自動Docker+nginx)— Herokuを凌駕するサービス
  • Cloud 66 - :yen: フルスタックホストされたコンテナ管理サービス
  • Cloud Run Compose - :yen: Google Cloud Runという管理サービスに、直接 docker-compose.yaml ファイルをデプロイします
  • Convox Rack - Convox Rackは、専門的なインフラ自動化とDevOpsのベストプラクティスに基づいたオープンソースPaaSです
  • docker-to-iac - AWS、Render.comおよびDigitalOcean向けに、Dockerのrunおよびcommitをインフラとしてコードに変換します
  • doco-cd - 軽量なGitOpsおよび継続的デプロイツールで、ポーリングおよびウェブホークを用いてDocker ComposeプロジェクトおよびSwarmスタックをデプロイします
  • Dokku - Dockerを活用したミニHerokuで、アプリケーションの開発およびライフサイクルの管理を支援します
  • Exoframe - Dockerを用いたシンプルなワンコマンドデプロイを可能にする、自前ホストツールです
  • Giant Swarm - :yen: シンプルなマイクロサービスインフラ。コンテナを数秒でデプロイできます
  • Google Container Engine - :yen: Google Cloud Computing上でKubernetesを活用したDockerコンテナ
  • Grafeas - コンテナに関するメタデータ(イメージやビルド詳細、セキュリティ脆弱性など)の共通API
  • Mesosphere DC/OS Platform - :yen: Apache Mesosをベースにしたデータとコンテナを統合したプラットフォーム
  • OpenRun - DockerまたはKubernetesを使って、ウェブアプリのビルド、デプロイ、プロキシ、認証、自動停止を実行します
  • OpenShift - An open source PaaS built on Kubernetes and optimized for Dockerized app development and deployment by Red Hat
  • Red Hat OpenShift Dedicated - :yen: Amazon Web ServicesおよびGoogle Cloud上で提供される完全に管理されたRed Hat® OpenShift®サービス
  • swarm-ansible - Swarm-Ansibleは、Ansibleを用いて生産環境に適したSwarmクラスタを起動します。CIの自動化、監視、TraefikのSSL証明書およびシンプル認証の事前設定を提供し、プライベートレジストリなども備えています
  • SwarmManagement - Swarm ManagementはpipでインストールされるPythonアプリケーションで、Docker Swarmの管理を簡単に行うために、デプロイするスタックやネットワーク、設定、シークレットを記述する1つのYAMLファイルの設定を用います
  • Triton - :yen: 弾性的なコンテナネイティブインフラ
  • Tsuru - Tsuruは拡張性があり、オープンソースのプラットフォームとしてのソフトウェアです
  • werf - ウェルフは、Dockerイメージを効率的に構築し、GitOpsを用いてKubernetesにデプロイするためのCI/CDツールである。

ガベージコレクション

  • docker-custodian - Dockerホストを整備し、清潔に保つ。
  • Docuum - Dockerイメージの「最も最近使われていない(LRU)」による削除。

ネットワークとプロキシ

ネットワーク

コンテナネットワーキング、オーバーレイネットワーク、DNS/サービス発見ブリッジ。

  • Calico - Calico is a pure layer 3 virtual network that allows containers over multiple docker-hosts to talk to each other.
  • docker-dns - Dockerコンテナ向けの軽量DNSフォワーダー。ホスト上で、カスタムサフィックス(例:)付きのコンテナ名を解決し、サービス発見を簡素化。 .docker
  • Flannel - フラネルは、各ホストにサブネットを割り当てる仮想ネットワークであり、コンテナランタイムとの利用を可能にする。
  • netshoot - netshootコンテナは、Dockerネットワークの問題をトラブルシューティングするために、強力なネットワークツールを備えている。
  • Pipework - Linuxコンテナ向けのソフトウェア定義ネットワーク。Pipeworkは「シンプル」なLXCコンテナと、素晴らしいDockerと両方に対応。
  • registrator - Docker向けのサービス登録ブリッジ。

リバースプロキシ

コンテナを意識したリバースプロキシ、イングレス、TLS終端フロントエンド(自動発見機能付き)

  • BunkerWeb - オープンソースかつ次世代のウェブアプリケーションファイアウォール(WAF)。
  • caddy-docker-proxy - Caddyベースのリバースプロキシ。サービスまたはコンテナラベルで構成。
  • caddy-docker-upstreams - CaddyのDockerアップストリームモジュール。コンテナラベルで構成。
  • Docker Dnsmasq Updater - Dockerコンテナホスト名を、リモートのdnsmasqサーバーに更新。
  • docker-flow-proxy - 新しいサービスがデプロイされたか、またはサービスがスケーリングされたときに、プロキシを再構成。
  • Let’s Encrypt Nginx-proxy Companion - nginx-proxyの軽量補助コンテナ。Let’s Encrypt証明書の自動作成/再新を可能にする。
  • mesh-router - Dockerコンテナ向けの無料ドメイン(nsl.sh)プロバイダー。自動HTTPSルーティングを提供。Wireguard VPNを使用して、ネットワーク間でのサブドメインリクエストを安全にルーティング。自己ホストNASやクラウドデプロイに最適。
  • Nginx Proxy Manager - SSLを用いたウェブサービスのプロキシに美しいウェブインターフェースを提供。
  • nginx-proxy - Automated nginx proxy for Docker containers using docker-gen.
  • OpenResty Manager - 最も使いやすく、強力で美しいOpenRestyマネージャー(Nginxの拡張版)。OpenResty Edgeのオープンソース代替。
  • Swarm Router - Dockerスワームモード向けのゼロ設定のサービス名ベースルーター。新しく、より安全なアプローチを採用。
  • Træfɪk - Docker、Mesos、Consul、Etcd向けの自動リバースプロキシおよびロードバランサー。

ストレージとデータ

  • Docker Volume Backup Dockerボリュームをローカルに、またはS3互換ストレージにバックアップ。
  • Label Backup - 軽量でDockerに対応したバックアップエージェント。Dockerのラベルに基づき、コンテナ化されたデータベース(PostgreSQL、MySQL、MongoDB、Redis)を自動的に検出・バックアップ。ローカルストレージおよびS3互換のストレージをサポートし、cron表現による柔軟なスケジューリングを提供。
  • Netshare Docker NFS、AWS EFS、CephおよびSamba/CIFSのボリュームプラグイン。
  • portworx - :yen: パーティショニングされた、共有かつ複製可能なボリュームを目的とした分散ストレージソリューション。
  • quobyte - :yen: Dockerボリュームドライバーを備えた、完全な障害耐性を備えた分散ファイルシステム。
  • resq - Resticを活用したDockerのボリューム、データベース、.envファイルへのバックアップ。コンテナを停止せずに実行可能。ローカル、SSH、またはS3互換ストレージに対応。
  • REX-Ray ベンダーに依存しないストレージオーケストレーションエンジンを提供。主な設計目標は、Docker、Kubernetes、Mesos向けに持続可能なストレージを提供すること。

オブザーバビリティ

Dockerホスト、コンテナ、それらに実行されているサービスを監視。セルフホストとSaaSの組み合わせ;商業製品は :yen: で表記

  • ADRG - cgroups v2を用いた動的Dockerリソース管理により、システム負荷を管理。
  • AppDynamics - :yen: DockerリモートAPIからのメトリクスをUnixソケットまたはTCPで取得するDockerモニタリング拡張。
  • Autoheal - 不健康なDockerコンテナを自動的にモニタリング・リスタート。
  • Better Stack - :yen: コンテナ化アプリケーション向けのDocker対応の観測スタックで、ログの集約と稼働状態モニタリングを提供。
  • cAdvisor - 実行中のコンテナのリソース使用量とパフォーマンス特性を分析
  • Datadog - :yen: Docker、Kubernetes、Mesosを第一にサポートするフルスタックモニタリングサービス。
  • DLIA - DLIAはAIを活用したDockerログモニタリングエージェントであり、大規模言語モデル(LLMs)を用いてコンテナログを知的に分析し、異常を検出、かつ時間軸上で文脈を含む洞察を提供。
  • docker-exporter - Rustで書かれた軽量Prometheusエクスポータ。ARM64(Raspberry Pi 5)でのcgroup v2メモリワークセットの正しく動作し、非rootで実行され、読み取り専用ソケットを使用し、空きメモリ約7MiB。
  • Docker-Sentinel - コンテナごとのポリシーに基づく自動更新、ロールバックの安全性、リアルタイムWebダッシュボードを提供。
  • DockProbe - 軽量なDockerモニタリングダッシュボード(1コンテナで実行)。リアルタイムメトリクス、6つの異常検知ルール、Telegramアラート、16の自動セキュリティスキャン。設定不要、約50MBのRAM。
  • DockProc - プロセスレベルでのコンテナのI/Oモニタリング。
  • dockprom - Prometheus、Grafana、cAdvisor、NodeExporterおよびAlertManagerを用いたDockerホストおよびコンテナのモニタリング。
  • Doku - Dokuは、Dockerのディスク使用量をモニタリングできるシンプルなウェブベースアプリケーション。
  • Dozzle - ブラウザまたはモバイルデバイスでリアルタイムでコンテナログをモニタリング。
  • Drydock - ウェブダッシュボードによるコンテナ更新モニタリング、23のレジストリプロバイダー、20の通知トリガー、分散型エージェントアーキテクチャ。
  • Dynatrace - :yen: アジェンタのインストールや実行コマンドの変更なしでコンテナ化されたアプリケーションを監視
  • Grafana Docker Dashboard Template - Docker、GrafanaおよびPrometheusスタック向けのテンプレート
  • InfraCanvas - 任意のLinuxサーバー上のコンテナ、ポッド、ボリューム、ネットワークのリアルタイム可視化マップ。シングルバイナリ、ウェブソケットによるリアルタイム更新。
  • Maintenant - DockerおよびKubernetes向けの自動発見型インフラ監視。ラベルを用いてコンテナを自動検出し、エンドポイント監視、ハートビート、TLS証明書、リソースメトリクス、更新情報、および内蔵ステータスページを提供。シングルバイナリにSPAが内蔵。
  • Middleware - :yen: Dockerホスト、コンテナ、ログ、アプリケーションパフォーマンスを統合された可視化プラットフォームから監視
  • Site24x7 - :yen: DevOpsおよびIT向けのDocker監視、SaaSのパーソナルホストモデル
  • Sysdig Monitor - :yen: システムコールを用いてコンテナの監視・アラート・トラブルシューティングを行うソフトウェアまたはSaaSサービス。DockerおよびKubernetes向けのコンテナ固有機能を備える。
  • Wiremap - マウントされたディスクイメージからDockerおよびcontainerdのコンテナ詳細を探索できる、自前ホスト型の可視化Dockerネットワークトポロジー探索ツール。リアルタイムログストリーミング、リアルタイム統計、内蔵ターミナル、コンテナ検証を提供。

セキュリティ

コンテナの強化、ランタイムセキュリティ、ポリシー、コンプライアンス、フォレンジクス。セルフホストと商業製品の組み合わせ;商業製品は :yen: で表記

  • Aqua Security - :yen: どのプラットフォームでも開発からプロダクションまで、コンテナベースアプリケーションのセキュリティを確保
  • buildcage - Dockerビルド中に送出ネットワークアクセスを制限し、サプライチェーン攻撃を防止。Docker BuildxのドロップインBuildKitリモートドライバーとして動作し、GitHub Actionsで即時使用可能。
  • CetusGuard - CetusGuardはDockerデーモンソケットを保護するために、そのAPIエンドポイントへの呼び出しをフィルタリングするツール。
  • Checkov - インフラアセンブリとしてのマニフェスト(Terraform、Kubernetes、Cloudformation、Helm、Dockerfile、Kustomize)に対する静的解析により、セキュリティミス設定を検出し、修正。
  • compose-lint - Docker Composeファイルに対してセキュリティミス設定をlint。プライベートコンテナ、未ピン留め画像、Dockerソケットマウント、明文認証情報 — OWASPおよびCIS Dockerベンチマークに基づく。
  • container-explorer - マウントされたディスクイメージからDockerおよびcontainerdのコンテナ詳細を探索できるフォレインツール。
  • Deepfence Threat Mapper - Kubernetes、仮想マシン、サーバレス環境向けの強力なランタイム脆弱性スキャナー。
  • Den - AIエージェント向けの自前ホスト型サンドボックスランタイム。セキュリティ強化、REST APIおよびウェブソケットサポート。
  • docker-bench-security - 数十のプロダクション環境におけるDockerコンテナデプロイメントに関するベストプラクティスをチェックするスクリプト。
  • docker-socket-proxy - Docker APIソケットに細かくフィルタをかけるHAProxyベースのフィルタ。逆プロキシやホームラボスタックに制限されたソケットを公開するために広く使用されている。
  • KICS - インフラアセンブリのスキャンツール。開発サイクルの初期段階でセキュリティ脆弱性、コンプライアンス問題、インフラミス設定を検出し、拡張可能。
  • Prisma Cloud - :yen: (以前はTwistlock Security Suite)アプリケーションライフサイクル全体で脆弱性を検出し、コンテナイメージを強化し、セキュリティポリシーを強制。
  • segspec - Docker Compose、Kubernetesのマニフェスト、Helmチャート、その他設定ファイルからネットワーク依存関係を抽出し、Kubernetesのネットワークポリシーを生成する。エビデンストレースを含む。
  • Sysdig Falco - Sysdig Falcoはオープンソースのコンテナセキュリティモニタリングツールであり、アプリケーション、コンテナ、ホスト、ネットワークの活動を監視し、不正な活動に対してアラートを発行できる。
  • Sysdig Secure - :yen: Sysdig Secureは、行動監視と防御を通じて実行時セキュリティを提供し、オープンソースのSysdigに基づく深層フォレインスをインシデント対応に提供する。
  • Trend Micro DeepSecurity - :yen: Trend Micro DeepSecurityは、コンテナワークロードおよびホストに対する実行時保護を提供し、イメージの事前スキャンにより脆弱性、マルウェアおよびハードコードされたシークレットなどのコンテンツを特定できる。

ユーザーインターフェース

デスクトップ

Dockerホストおよびクラスタの管理・監視を目的としたネイティブデスクトップアプリケーション

  • Docker DB Manager - Dockerデータベースコンテナを管理するデスクトップアプリ。視覚インターフェースとワンクリック操作を備える。
  • Docker Desktop - 公式のネイティブアプリ。WindowsおよびMacOSのみ対応。
  • Gantry (Desktop) - ネイティブなmacOSアプリ(SwiftUI、Electronなし)で、Dockerホスト(ローカルおよびSSH経由)の管理と監視を行う。ファレットダッシュボード、リアルタイムログと統計、実行ターミナル、ファイルブラウザ、AIエージェント向けにバンドルされたMCPサーバーを提供。
  • Simple Docker UI - Electronに基づく。
  • Stevedore - Windows向けの優れたDocker Desktopの代替品。LinuxおよびWindowsコンテナの両方をサポート。slonopotamus

ターミナル

Docker用のTUI、CLIツール、およびシェル統合

  • bosun - Dockerのためのキーボード操作型ターミナルUI。Composeプロジェクトグループ、リアルタイムログ、統計、シェルアクセスを提供。
  • d4s - Dockerコンテナ、Composeスタック、Swarmサービスの管理に最適化された高速かつキーボード操作型ターミナルUI。K9sの利便性を備える。
  • dcinja - Dockerコマンドライン環境向けのテンプレートエンジンで、非常に小型のバイナリサイズを持つ。
  • dctl - dctlは、開発者にとって便利なツールであり、ターミナル内のどこでもDocker Composeコマンドを実行できる。さらに、それ以上の機能を提供する。
  • decompose - Docker環境向けの逆エンジニアリングツール。
  • dive - Dockerイメージ内の各レイヤーを探索するツール
  • docker pushrm - Docker CLIプラグインで、現在のディレクトリのREADME.mdファイルをDocker Hubにプッシュできる。QuayおよびHarborにも対応。
  • docker-captain - 複数のDocker Composeデプロイメントをスタイル豊かに管理できるフレンドリーなCLI。Typer、Rich、questionary、shによって駆動。
  • dockerfile-mode - Dockerfileの処理に用いるEmacsモード。
  • dockerfilegraph - マルチステージDockerfileを可視化。
  • dockly - Dockerコンテナの管理に用いるインタラクティブシェルUI。
  • DockMate - 軽量なターミナルベースのDockerおよびPodmanマネージャー。テキストベースのユーザーインターフェースを備える。
  • DockSTARTer - DockSTARTerは、Docker内で実行中のホームサーバーアプリケーションの開始を助けるツールです
  • DockTUI - DockerおよびCompose向けの高速かつ依存関係のないターミナルダッシュボード
  • dockup - Docker Engine + Compose v2、NVIDIA Container Toolkit、PodmanおよびApple containerのインストール・強化・維持を行うTUI。CISに基づいたセキュリティ診断を提供
  • dprs - 開発者向けのDockerコンテナ管理用TUI。リアルタイムログストリーミングとコンテナ管理をサポート
  • dry - Dockerコンテナ向けのインタラクティブCLI
  • easydocker - k9sを強くインスピレーションとして受け入れた、美しいBubbleTeaグラフィックスを活用したターミナルUI
  • goManageDocker - Dockerオブジェクトの表示と管理を行う高速TUI。意味のあるキーバインディングを提供し、VIMナビゲーションを標準でサポート
  • layerx - コンテナイメージのレイヤーをTUIで確認 — ファイルシステムの差分を閲覧、ファイル内容をインラインで表示、サイズでソート、個別ファイルを抽出、CIで効率性のしきい値を設定。Docker、Podman、およびOCIアーカイブをサポート
  • lazydocker - Dockerのすべてを管理する、ラクierな方法。DockerおよびDocker-Compose向けのシンプルなターミナルUI。Go言語とgocuiライブラリで構成されています
  • lazyjournal - DockerおよびPodmanコンテナのログ出力の読み取りとフィルタリングを行うインターフェース。Dozzleのようにですが、ターミナルでサポートしており、フュージー検索、正規表現、出力カラーを提供
  • oxker - Dockerコンテナの表示と制御を行うシンプルなTUI
  • proco - Procoは、Docker、Docker-Compose、Kubernetesプロジェクトの複雑さに関わらず、シンプルなYAML設定ファイルを使ってプロジェクトの見つけ方からローカル環境での初期化までを短くするためのツールです
  • scuba - Dockerコンテナを透明に使用してソフトウェアのビルド環境を封じ込める
  • supdock - Dockerの使用を少し視覚的にし、インタラクティブなプロンプトを提供
  • swarmcli - スワーム管理は思考の速さで — リアルタイムログストリーミング、コンテナへの即時シェルアクセス、スムーズなポートフォワーディング、必要に応じたシークレットの表示機能により、Docker Swarmの完全な制御を提供しつつ、あなたのワークフローを破壊しません
  • tdocker - 日常的なコンテナ操作のためのの代替ツール docker ps
  • wharf - k9sをインスピレーションとして受け入れたDocker Compose向けTUI。VIMスタイルのナビゲーション、リアルタイムCPU/MEMモニタリング(ブレインチャート)、コンテナファイルブラウザ、SSHリモートホストサポート、コマンドモードを提供

ウェブ

  • Arcane - 誰にとっても使いやすい、現代的なDocker管理プラットフォーム
  • CASA - 数個のコンテナの管理を同僚に委任する
  • Container Web TTY - コンテナをウェブターミナルで接続する
  • Docker Commander - 自前でホストできるDockerの管理および監視UIで、複数ホスト対応、Compose管理、ログの集約、アラート、RBAC、脆弱性スキャン、MCP統合を提供する
  • Docker Registry Browser - Docker Registry HTTP API v2のWebインターフェース
  • docker-swarm-visualizer - Docker Swarm上でDockerサービスを可視化(デモ実行用)
  • dockge - 使いやすく、反応性のある自前ホストDocker compose.yamlスタック管理ツール
  • DockScope - Dockerコンテナを3Dの依存関係グラフで可視化し、リアルタイムメトリクス、ログ、ブラウザ内ターミナルを提供
  • Komodo - 複数サーバー上でソフトウェアを構築・デプロイできるツール
  • Portainer - 軽量な管理UIでDockerホストまたはDocker Swarmクラスタを管理できる
  • Swarmpit - SwarmpitはDocker Swarmクラスタに簡単で使いやすいインターフェースを提供し、スタック、サービス、シークレット、ボリューム、ネットワークなど、すべてを管理できます
  • usulnet - システム管理者やDevOps向けの完全で現代的なDocker管理プラットフォーム。エンタープライズクラスのツール、CVEスキャナー、SSH、RDPをWeb上で提供など

IDE統合

開発ワークフロー

APIクライアント

  • contajners - OCIコンテナエンジン向け、自然な構文、データ駆動、REPL対応のClojureクライアント
  • Docker Client for JVM - JVM向けDockerリモートAPIクライアントライブラリ(Groovyで記述)
  • Docker Client TypeScript - JavaScript用Docker APIクライアント(mobyリポジトリのSwagger API定義から自動生成)
  • docker-controller-bot - Dockerコンテナを制御するTelegramボット
  • docker-maven-plugin - MavenプラグインでDockerイメージの実行と作成
  • Docker.DotNet - C#/.NET向けDockerリモートAPIのHTTPクライアント
  • Docker.Registry.DotNet - .NET(C#)によるDockerリジストリAPI(v2)とのインタラクション用クライアントライブラリ
  • dockerode - DockerリモートAPI向けNode.jsモジュール
  • go-dockerclient - GoによるDockerリモートAPIのHTTPクライド
  • Gradle Docker plugin - Gradle向けDockerリモートAPIプラグイン
  • Portainer stack utils - ポートエイナーインスタンスからドッカーのスタックをデプロイ/更新/アンデプロイするためのBashスクリプト。ドッカーのコンポジットYAMLファイルから動作を実行。
  • sbt-docker - sbtから直接ドッカーイメージを作成。

CI/CD

自前でホストするCIエンジン、ビルドアクセラレータ、Dockerワークフローをターゲットとしたホストサービス。商業製品は:yen:と表記。

  • Buddy - :yen: Git、ビルド、デプロイツールを統合した強力なツール。開発を飛躍的に加速。
  • Captain - Gitワークフローをドッカーコンテナに変換し、継続的なデリバリーに備える。
  • CircleCI - :yen: ビルド環境からドッカーイメージをプッシュまたはプル、あるいはCircleCI上でコンテナをビルド・実行。
  • CodeFresh - :yen: ドッカーアプリケーションの端到端のビルド、テスト、共有。自動テストを実行。
  • ConcourseCI - :yen: DevOpsチーム向けのパイプライン中心のCI SaaSプラットフォーム。
  • Defang - 好きなクラウドに数分でドッカーComposeをデプロイ。
  • Depot - :yen: クラウド上で高速にドッカーイメージをビルド。極めて高速なコンピューティング、自動的な知能によるキャッシュ、ゼロ設定。
  • Diun - Dockerレジストリにイメージまたはリポジトリが更新されたときに通知を受信。
  • dockcheck - ドッカーイメージの更新を確認し、プルせずに自動で選択された/すべてのコンテナを更新。通知、クリーニングなどもサポート。
  • Docker plugin for Jenkins - ドッカープラグインの目的は、ドッカーホストを使ってスレーブを動的にプロビジョニングし、1つのビルドを実行し、その後そのスレーブをダウンを実現すること。
  • Drone - Docker上で構築された継続的統合サーバー。YAMLファイルで設定。
  • Gantry - 選択されたドッカー・スワーム・サービスを自動で更新。
  • GitLab Runner - GitLabは、GitLabランナーを使用してコードのテスト、ビルド、デプロイを統合。
  • Jaypore CI - シンプルで非常に柔軟かつ強力なCI/CD/自動化システム。Pythonで構成。オフラインとローカルを最優先。
  • Kraken CI - 現代的なCI/CD、オープンソース、オンプレミスシステム。スケーラビリティが高く、テストに焦点。その実行者にドッカーが含まれる。開発された。
  • Screwdriver - :yen: ヤホーが開発した継続的デリバリー向けオープンソースビルドプラットフォーム。
  • Self Hosted Runner - Linux、macOS、Windowsに対応したセルフホスト型GitHub Actionsランナーのドッカー化されたソリューション。
  • Semaphore CI - :yen: 高性能クラウドCI。コンテナをビルド、テストし、生産環境へデプロイ。
  • Skipper - Gitリポジトリを簡単にDockerで構築できます。
  • Tekton CD - クラウドネイティブなパイプラインリソース。
  • TravisCI - :yen: GitHubプロジェクト向けにホスティングされたCIでDockerサポートあり。

開発環境

  • coder - TerraformまたはDockerで駆動されたリモート開発マシン。
  • dde - Dockerに基づいたローカル開発環境ツールセット。
  • DIP - docker-composeで構成されたアプリケーションに対して、簡易なプロビジョニングとインタラクションを行うCLIユーティリティ。
  • EnvCLI - Node、Go、…のローカルインストールをプロジェクトごとのDockerコンテナに置き換えることができます。
  • Gebug - Docker化されたGoアプリケーションのデバッグを非常に簡単かつ安全に実現するツール。デバッガーやホットリロード機能を提供する。
  • HarborPilot - 埋め込みLinux開発(RK3588、RV1126、RK3568)向けの自動マルチプラットフォームDockerイメージビルダー。3層構成継承、PORT_SLOTベースのポート割り当て、およびクロスバージョンUbuntuサポート(20.04/22.04/24.04)を備えています。
  • Lando - 開発者がプロジェクト開発に必要なサービスとツールを迅速に指定し、簡単に立ち上げられるようにするLando。
  • Laradock - Dockerに基づいた完全なPHP開発環境。Nginx/Apache、PHP、MySQL、Redisなど、スワップ可能なComposeサービスで実行。
  • uniget - Uni(versal)get、コンテナツールおよびそれ以上のインストーラーとアップダーアー(以前はdocker-setup)。
  • Zsh-in-Docker - 1行でDockerコンテナ内にZsh、Oh-My-Zshおよびプラグインをインストールできます。

サーバーレス

  • Apache OpenWhisk - イベントに応じてスケール可能な関数を実行するサーバレス、オープンソースのクラウドプラットフォーム。
  • Koyeb - :yen: Koyebは、グローバルにアプリをデプロイできる開発者向けのサーバレスプラットフォーム。gitベースのデプロイ、ネイティブな自動スケーリング、グローバルエッジネットワーク、および組み込みのサービスメッシュと発見機能で、Dockerコンテナやウェブアプリ、APIをスムーズに実行できます。
  • OpenFaaS - DockerおよびKubernetes向けの完全なサーバレス関数フレームワーク。

テスト

  • Container Structure Test - イメージの構造を検証するためのフレームワーク。コマンドの出力やファイルシステムの内容をチェックすることで、イメージの構造を検証します。
  • dgoss - コマンド出力やファイルシステム内容をチェックするための、高速なYAMLベースのDockerコンテナ検証ツール。
  • Kurtosis - マルチコンテナテスト環境向けの合成型ビルドシステム。開発者に以下の機能を提供します:環境構成用の強力なPython風SDK、コンパイル時検証(環境の動作とセットアップの確認)、および環境実行、監視、デバッグ機能を備えたランタイム。
  • Pumba - Docker向けの混沌テストツール。KubernetesおよびCoreOSクラスタにデプロイ可能です。

ラッパー

  • Hokusai - アプリケーション開発者向けのDocker+Kubernetes CLI。アプリケーションをコンテナ化し、開発、テスト、リリースサイクルの全過程でライフサイクルを管理するために使用されます。From artsy
  • Preevy - DockerおよびDocker Composeプロジェクト用のプレビューエンビローメント。変更をテストし、開発者や非開発者(製品/デザイン)からのフィードバックを得るために、CIパイプラインの一部としてクラウドプロバイダーにプルリクエストをデプロイする。
  • subuser - Dockerでグラフィカルデスクトップアプリケーションを安全かつ移植性の高い方法で実行できるようにするツール。
  • udocker - root権限なしで、バッチまたはインタラクティブシステムでシンプルなDockerコンテナを実行するためのツール。
  • Vagrant - Docker provider - 良いスタート地点は である。 vagrant-docker-example

コンテナ内ツール

コンテナ内にインストールされているツールまたは、 sidecarとして実行されるように設計されたアプリケーション

  • cdebug - 実行中のコンテナをデバッグするための、一時的なサイドカーセーフティツール。Docker、containerd、Kubernetesと互換性を持つ。
  • ckron - Docker向けのクロントースタイルのジョブスケジューラ。
  • CoreOS - Linux for Massive Server Deployments
  • docker-gen - Dockerコンテナのメタデータからファイルを生成する。
  • dockerize - Dockerコンテナ内でアプリケーションを実行するためのユーティリティ。
  • GoSu - この特定のアプリケーションをこの特定のユーザーとして実行し、パイプラインから脱出する(エントリーポイントスクリプトツール)。
  • is-docker - プロセスがDockerコンテナ内にあるかを確認する。
  • microcheck - Dockerコンテナ向けの軽量ヘルスチェックユーティリティ(httpcheckとcURLの9.3MBから75KBへ)—純Cで実装、http(s)、ポートチェック、並列実行が含まれる。
  • Ofelia - Ofeliaは、Goで構築された現代的で軽量のDocker環境向けジョブスケジューラであり、古くからのcronを置き換えることを目的としている。コンテナラベルまたは設定ファイルからの構成をサポート。
  • su-exec - シンプルなツールで、異なる権限でプログラムを実行する。プログラムは直接実行され、子プロセスとして実行されない(suやsudoのように)ため、TTYやシグナルの問題を回避する。なぜgosuを再構築するのか?これはgosuとほぼ同じことをするが、1.8MBから10KBにまで縮小されている。
  • supercronic - クロントーバーに適合するジョブ実行ツールで、コンテナ内で特別に設計されている。

学習資料

はじめに

  • Benefits of using Docker 開発およびデリバリーに用いられる、導入のための実用的な計画書。
  • Bootstrapping Microservices - マイクロサービスでアプリケーションを構築するための実用的かつプロジェクトベースのガイド。単一マイクロサービスのDockerイメージを作成し、プライベートコンテナレジストリに公開し、最終的にプロダクションKubernetesクラスタに完全なマイクロサービスアプリケーションをデプロイするまでをカバー。
  • Docker Curriculum: Dockerに始めることを教える包括的なチュートリアル。Dockerの使い方と、AWSのElastic BeanstalkおよびElastic Container ServiceでDocker化されたアプリケーションをデプロイする方法を教えている。
  • Docker Documentation: 公式ドキュメント。
  • Docker for beginners: 初心者向けチュートリアル。Dockerの基本から学ぶ—from “Hello world!” からコンテナとの基本的な相互作用まで、根本的な概念についての簡単な説明を含む。
  • Docker for novices Dockerを初めて使う開発者やテスト者向けのDockerの紹介。(動画1時間40分、linux.conf.au 2019 — チェストヒート、ニュージーランドで記録)
  • Docker katas Dockerから「Hello Docker」という初歩的なステップから、サーバーにデプロイされるコンテナ化されたウェブアプリケーションまでを学ぶ一連の実験環境。
  • Docker simplified in 55 seconds: Dockerについてのアニメーション付き概要解説。視覚的に分かりやすく、より複雑な学習資料に進むのを容易にします。
  • Docker Training - :yen:
  • Dockerlings: ターミナル内でDockerを学ぶ、現代的なTUIと短い練習問題付き。
  • Introduction à Docker フランス語のDevSecOpsサイトでDockerをマスターする専門セクション:基礎からベストプラクティスまで、コンテナの最適化やセキュリティ対策を含む。
  • Learn Docker: ステップバイステップチュートリアルとその他のリソース(動画、記事、クイックリファレンス)
  • Learn Docker (Visually) - Dockerの主要なコンポーネントとそれらがどのように組み合わされているかを、初心者向けに概観する。多くの高品質な画像、例、リソースを含む。
  • Play With Docker: PWDは、初心者から上級者までDockerを学ぶための素晴らしい入り口。Dockerはブラウザ内で直接実行されます。
  • Practical Guide about Docker Commands in Spanish このスペイン語ガイドは、基本的なDockerコマンドの使用と現実の例を含んでいます。
  • Setting Python Development Environment with VScode and Docker: VScode、Docker、Dev Container拡張機能を使って、Python開発環境を構築するためのステップバイステップチュートリアル。
  • The Docker Handbook オープンソースの書籍で、Dockerの基本、ベストプラクティス、および一部の中級機能を学びます。この書籍はfhsinchy/the-docker-handbookにホストされており、プロジェクトはfhsinchy/docker-handbook-projectsリポジトリにホストされています。

コツのまとめ

はじめに(Windows)


書籍とチュートリアル

Awesomeリスト

  • Awesome Compose - Docker Composeのサンプル。
  • Awesome Kubernetes
  • Awesome Linux Container このリポジトリ以上の一般的なコンテナに関する情報。
  • Awesome Selfhosted 無料ソフトウェアのネットワークサービスおよびウェブアプリケーションのリスト。これらは、従来の方法(ローカルWebサーバーの設定とアプリケーションの実行)またはDockerコンテナ内で実行することでローカルにホストできます。
  • Awesome Sysadmin
  • ToolsOfTheTrade SaaSおよびオンプレミスアプリケーションのリスト。

デモとサンプル

  • An Annotated Docker Config for Frontend Web Development Dockerを用いたローカル開発環境は、プロジェクトに必要なDevOps設定を縮小包装することで、新規メンバーの導入をスムーズにします。
  • Local Docker DB 多くのデータベース向けのDocker Composeのサンプルリスト。
  • Webstack-micro Docker Composeを使ってAPIゲートウェイ、中央認証、バックグラウンドワーカー、WebSocketsをコンテナ化サービスとして構築するデモウェブアプリ。

実践的なヒント

Raspberry PiとARM

セキュリティ記事

動画

コミュニティとミートアップ

ブラジル

英語

ロシア語

スペイン語

Stargazer数の推移

Stargazers over time