新手上路 昨天 08:45
主楼

什么是 Docker

Docker 是一个为开发者和系统管理员构建、分发和运行分布式应用程序的开源平台。它由 Docker 引擎组成,这是一个便携式、轻量级的运行时和打包工具,以及 Docker Hub,这是一个用于共享应用程序和自动化工作流程的云服务。Docker 使应用程序能够快速从组件中组装,并消除了开发、测试和生产环境之间的摩擦。因此,IT 部门可以更快地部署,并在笔记本电脑、数据中心虚拟机和任何云上运行相同的应用程序,而无需任何更改。
来源: 什么是 Docker

如何开始

  • 使用 Docker 的优势用于开发和交付,并提供一个实用的采用路线图。
  • 通过 Docker、Kubernetes 和 Terraform 启动微服务Ashley Davis 撰写 - 一个实用且基于项目的指南,用于使用微服务构建应用程序,从为单个微服务构建 Docker 镜像并发布到私有容器注册表开始,最后部署一个完整的微服务应用程序到生产 Kubernetes 集群。
  • Docker 课程:一个全面的教程,用于入门 Docker。教授如何使用 Docker 以及在 AWS 上使用 Elastic Beanstalk 和 Elastic Container Service 部署 Docker 化应用程序。
  • Docker 文档:官方文档。
  • Docker 入门:面向需要学习 Docker 基础知识的初学者的教程——从"Hello world!"到与容器的基本交互,并配有对底层概念的简单解释。
  • Docker 新手入门:为从未使用过 Docker 的开发人员和测试人员提供的 Docker 介绍。(视频时长 1 小时 40 分钟,录制于 linux.conf.au 2019 — 新西兰基督城)由 Alex Clews 主讲。
  • Docker 练习:一系列实验室,将引导你从"Hello Docker"到在服务器上部署容器化 Web 应用程序。
  • 55 秒内简化 Docker:Docker 的动画式高层介绍。可以将其视为一个视觉 tl;dr,帮助你更容易地进入更复杂的学习材料。
  • Docker Training:heavy_dollar_sign:
  • Dockerlings: 从终端内部学习 Docker,配有现代 TUI 和小块练习(由 furkan 提供)
  • Introduction à Docker一个专门用于在 DevSecOps 相关的法国网站上掌握 Docker 的部分:从基础知识到最佳实践,包括优化、保护容器等...
  • Learn Docker: 由 @dwyl 提供的逐步教程和更多资源(视频、文章、速查表)
  • 学习 Docker (可视化)- 面向初学者的 Docker 主要组件的高级概述,以及它们如何协同工作。包含大量高质量的图片、示例和资源。
  • 在 Docker 中实践: PWD 是从初学者到高级用户入门 Docker 的绝佳方式。Docker 直接在您的浏览器中运行。
  • 关于西班牙语 Docker 命令的实用指南这个西班牙语指南包含基本 docker 命令的使用和实际生活中的示例。
  • 使用 VScode 和 Docker 设置 Python 开发环境一个逐步教程,介绍如何使用 VScode、Docker 和 Dev Container 扩展设置 docker 化的 Python 开发环境。
  • 《Docker Handbook》一本开源书籍,教你 Docker 的基础知识、最佳实践和一些中级的 Docker 功能。这本书托管在 fhsinchy/the-docker-handbook 上,项目托管在 fhsinchy/docker-handbook-projects 仓库。
速查表

Windows 入门


项目

  • Moby = 开源开发
  • Docker CE 是基于 Moby 的免费产品发布。
  • Docker EE 是基于 Docker CE 的商业产品发布。
Docker EE 与 Docker CE 使用相同的代码库,因此也是基于 Moby 构建,并添加了商业组件,例如“docker 数据中心/通用控制平面”。
  • Moby
  • Docker 镜像
  • Docker Compose(使用 Docker 定义和运行多容器应用程序)
  • Docker Machine:skull: (容器化世界中的机器管理)
  • [Docker Registry][distribution] (打包、运输、存储和交付内容的 Docker 工具集)
  • Docker Swarm:skull: (Swarm: 一种 Docker 原生的集群系统)

容器操作

容器组合

  • bocker(2) :skull: - 完全使用 Bash 编写 Dockerfile。可扩展且简单。 --> 可由 @icy 重用
  • bocker(1) :skull: - 由 p8952 使用 100 行 bash 实现的 Docker
  • box:skull: - 使用 mruby DSL 构建 Dockerfile 镜像,包含扁平化和层操作
  • Capitan- 具备脚本支持的可组合 Docker 编排工具,由 [@byrnedo] 开发。
  • compose_plantuml:skull: - 通过 @funkwerk 生成 Plantuml 图表从 docker-compose 文件
  • Composerize- 将 docker run 命令转换为 docker-compose 文件
  • crowdr- 用于管理多个 Docker 容器的工具(docker-compose 的替代品),由 @polonskiy 提供
  • ctk:construction: - 基于容器的可视化编排工具。由 @corpulent 提供
  • docker-compose-graphviz:skull: - 将 docker-compose.yml 文件转换为 Graphviz .dot 文件,由 @abesto 提供
  • docker-config-update- 用于更新 docker 配置和密钥的工具,以便在 compose 文件中部署,由 @sudo-bmitch 提供
  • draw-compose:skull: - 用于绘制 docker compose 模型的工具,由 @Alexis-benoist 提供
  • elsy- 基于 Docker 和 Docker Compose 的主观式、多语言构建工具
  • habitus- 由 @cloud66 提供的 Docker 构建流程工具
  • kompose- 从 Docker Compose 迁移到 Kubernetes
  • LLM Harbor- 一个 CLI 和配套应用程序,可轻松使用一个命令运行 LLM 后端、API、前端和服务。由 @av 提供
  • Maestro:skull: - Maestro 提供了轻松启动、编排和管理多个 Docker 容器作为单个单元的能力。由 @tascanini 提供
  • percheron:skull: - 通过 @ashmckenzie 的力量和智能组织您的 Docker 容器
  • plash- 一个容器运行和构建引擎 - 在 docker 内部运行。
  • podman-compose- 一个使用 podman 运行 docker-compose.yml 的脚本 [@containers]
  • rocker-compose:skull: - 用于部署由多个容器组成的应用的 Docker 组合工具,具有幂等性功能。[@grammarly]
  • rocker:skull: - 扩展的 Dockerfile 构建。支持多个 FROM、MOUNTS、模板等。[@grammarly]
  • Smalte– 动态配置需要在 docker 容器中静态配置的应用程序。由 @roquie 提供
  • Stacker:skull: - Docker Compose 模板。Stacker 提供了 Docker Compose 的抽象层,并提供了更好的开发者体验 (DX)。
  • Stitchocker- 一个轻量级且快速命令行工具,用于方便地分组 docker-compose 中的多个容器服务。由 @alexaandrov 提供
  • Zodiac:skull: - 一个轻量级工具,用于轻松部署和回滚 docker 化应用程序。由 [@CenturyLinkLabs][centurylinklabs] 提供

部署和基础设施

  • awesome-stacks- 使用一个 Docker 命令部署 150 多个开源 Web 应用
  • blackfish- 一个 CoreOS 虚拟机,用于通过@blackfish构建开发和生产环境的 swarm 集群
  • BosnD- BosnD,船副守护进程 - 用于动态改变容器环境的动态配置文件写入和服务重载器
  • Centurion- Centurion 是一个用于 Docker 集群的批量部署工具。它从 Docker 注册表获取容器,并在具有正确环境变量、主机卷映射和端口映射的主机集群上运行它们。由 @newrelic 提供
  • Clocker- Clocker 创建和管理 Docker 云基础设施。Clocker 支持单键部署,并管理在 Docker 和 Marathon 上分布式运行的多节点容器化应用程序的运行时。它利用 Calico][calico] 和 [Weave][weave] 进行网络通信,并使用 [Brooklyn 进行应用程序蓝图设计。由 @brooklyncentral 提供
  • Conduit- 实验性的 Docker 部署系统,由 @ehazlett 提供
  • depcon- Depcon 是用 Go 编写的,允许您轻松地将 Docker 容器部署到 Apache Mesos/Marathon、Amazon ECS 和 Kubernetes。由 [@ContainX][containx] 提供
  • deploy:skull: - Git 和 Docker 部署工具。介于简单的 Docker 组合工具和完整的集群编排工具之间,由 @ttiny 开发。
  • docker-to-iac- 将 docker run 和 commit 转换为 AWS、Render.com 和 DigitalOcean 的基础设施即代码模板,由 @DeployStack 开发。
  • dockit:skull: - 执行 Docker 操作和部署 Gluster 容器!由 @humblec 开发。
  • gitkube- Gitkube 是一个使用 git push 在 Kubernetes 上构建和部署 Docker 镜像的工具,由 @Hasura 开发。
  • Grafeas- 一个常见的容器元数据 API,从镜像和构建细节到安全漏洞。由 grafeas 提供。
  • Longshoreman:skull: - Longshoreman 使用 Docker 自动化应用程序部署。只需创建一个 Docker 仓库(或使用服务),使用 AWS 或 Digital Ocean(或任何你喜欢的)配置集群,并使用类似 Heroku 的 CLI 工具部署应用程序。由 longshoreman 提供。
  • swarm-ansible- Swarm-Ansible 使用 ansible 启动一个生产就绪的 swarm 集群。提供工具来自动化 CI,帮助监控,并预配置了 SSL 证书和简单认证的 traefik。包含私有注册表和更多功能!
  • SwarmManagement- Swarm Management 是一个使用 pip 安装的 Python 应用程序。该应用程序通过配置一个描述要部署的堆栈、要创建的网络、配置或密钥的 yaml 文件,轻松管理 Docker Swarm。
  • werf- werf 是一个高效的 CI/CD 工具,用于构建 Docker 镜像并将其通过 GitOps 部署到 Kubernetes,由 @flant 提供

监控

  • Autoheal- 自动监控并重启不健康的 Docker 容器。
  • Axibase Collector- Axibase Collector 将 Docker 引擎的性能计数器、配置更改和生命周期事件流式传输到 Axibase 时间序列数据库,用于汇总仪表板和与上游监控系统集成。
  • cAdvisor- 分析运行容器的资源使用情况和性能特征。由 [@Google][google] 创建
  • Checkmate- Checkmate 是一个开源的、可自托管的工具,旨在实时跟踪和监控服务器硬件、运行时间、响应时间和事件,并提供美观的可视化。
  • DLIA- DLIA 是一个由 AI 驱动的 Docker 日志监控代理,它使用大型语言模型(LLMs)智能地分析容器日志、检测异常,并随着时间的推移提供上下文洞察。由 @zorak1103 提供
  • Docker-Alertd- 监控并发送基于 docker 容器资源使用/统计的警报
  • Docker-Flow-Monitor- 在新服务更新或自动部署时由 [@docker-flow][docker-flow] 重新配置 Prometheus。
  • Dockerana:skull: - Graphite 和 Grafana 的打包版本,专门针对 Docker 的指标。
  • DockProc- 在进程级别上对容器进行 I/O 监控。
  • dockprom- 通过 @stefanprodan 使用 Prometheus、Grafana、cAdvisor、NodeExporter 和 AlertManager 对 Docker 主机和容器进行监控。
  • Doku- Doku 是一个简单的基于 Web 的应用程序,允许您监控 Docker 磁盘使用情况。@amerkurev
  • Dozzle - 使用浏览器或移动设备实时监控容器日志。@amir20
  • Dynatrace:heavy_dollar_sign: - 无需安装代理或修改您的 Run 命令即可监控容器化应用程序
  • Glances- 由 @nicolargo 编写的一个跨平台基于 curses 的系统监控工具,用 Python 编写
  • Grafana Docker Dashboard Template- 用于 Docker、Grafana 和 Prometheus 堆栈的模板 [@vegasbrianc]
  • HertzBeat- 一个开源的实时监控系统,具有自定义监控和无需代理的特点。
  • InfluxDB, cAdvisor, Grafana- InfluxDB 时间序列数据库与 Grafana 和 cAdvisor 结合使用,由 [@vegasbrianc][vegasbrianc] 提供。
  • LogJam- :skull: LogJam 是一个日志转发器,用于监听本地端口,通过 UDP 接收日志条目,并将这些消息转发到日志收集服务器(如 logstash),由 @gocardless 提供。
  • Logspout- Docker 容器日志路由工具,由 [@gliderlabs][gliderlabs] 提供
  • monit-docker- 监控 Docker 容器资源使用情况或状态,并执行 Docker 命令或容器内命令。 [@decryptus][decryptus]
  • NexClipper- NexClipper 是专为 Docker、Apache Mesos、Marathon、DC/OS、Mesosphere、Kubernetes 设计的容器监控和性能管理解决方案。 @Nexclipper
  • 即用型主机/容器监控/日志/告警堆栈- 使用 cAdvisor、Prometheus、Grafana 进行监控,Elasticsearch、Kibana 和 Logstash 进行日志记录,以及 elastalert 和 Alertmanager 进行告警的 Docker 主机和容器监控、日志记录和告警解决方案。5 分钟内即可设置完成。生产环境安全模式,内置 [自动 Nginx 反向代理 (jwilder's)][nginxproxy]。
  • Sidekick💲 - 开源的后端实时应用程序调试器,类似于 Chrome DevTools。收集跟踪信息并在不停止和重新部署应用程序的情况下按需生成日志。
  • SuperVisor CPM前端服务驱动服务 :construction: - 由 @t0xic0der 编写的一个简单且易于使用的自由/开源容器性能监控服务,使用 Python 编写。
  • SwarmAlert- 监控 Docker Swarm,并在发现没有健康服务任务运行的容器时发送 Pushover 提醒。
  • Zabbix Docker 模块- 提供运行容器发现、CPU/内存/blk IO/网络容器指标发现的 Zabbix 模块。也支持 systemd Docker 和 LXC 执行驱动。它是一个动态链接的共享对象库,因此其性能比任何脚本解决方案都更好(性能提升约 10 倍)。
  • Zabbix Docker- 使用 zabbix LLD 功能自动监控容器。

网络编程

  • [Calico][calico] - Calico 是一个纯层 3 虚拟网络,允许跨多个 docker 主机的容器相互通信。
  • Flannel- Flannel 是一个虚拟网络,为每个主机提供子网,用于与容器运行时一起使用。由 [@coreos][coreos] 提供。
  • Freeflow- Linux 上的高性能容器叠加网络。启用 RDMA(在 InfiniBand 和 RoCE 上均支持)并加速 TCP 到裸金属性能。由 @Microsoft 提供。
  • MyIP- 一站式 IP 工具箱。轻松检查所有您的 IP 地址、IP 地理位置、检查 DNS 泄漏、检查 WebRTC 连接、速度测试、ping 测试、MTR 测试、检查网站可用性、whois 查询等。由@jason5ng32提供。
  • netshoot- netshoot 容器包含一套强大的网络工具,帮助您解决 Docker 网络问题。由@nicolaka提供。
  • Pipework- Linux 容器的软件定义网络,Pipework 可与“普通”LXC 容器以及强大的 Docker 协同工作。由[@jpetazzo][jpetazzo]提供。
  • [Weave][weave](Docker 网络):skull: - Weave 创建一个虚拟网络,连接分布在多个主机上的 Docker 容器。

编排

  • Ansible Linux Docker- 从 Linux 容器中运行 Ansible。由 [@Peco602][peco602] 提供
  • athena- 一个具有插件架构的自动化平台,允许您轻松创建和共享服务。
  • blimp:skull: - 使用 Docker Machine 轻松将容器从一个 Docker 主机移动到另一个主机,显示针对所有主机的正在运行的容器,在多个主机上复制容器等,由 @defermat@schvin 提供
  • CloudSlang- CloudSlang 是一个工作流引擎,用于创建 Docker 进程自动化
  • clusterdock- Docker 容器编排,以支持对长时间运行的集群部署进行测试
  • Crane- 基于 Docker 内置的 Swarm 构建的控制平面 @Dataman-Cloud
  • Docker Flow Swarm Listener- Docker Flow Swarm Listener 项目用于监听 Docker Swarm 事件,并在发生变化时发送请求。通过 [@docker-flow][docker-flow]
  • docker rollout- 通过 @Wowu 实现的 Docker Compose 服务的零停机部署
  • gantryd:skull: - @DevTable 开发的用于跨机器轻松管理基于 Docker 组件的框架
  • Haven- Haven 是一个简化的容器管理平台,集成了容器、应用、集群、镜像和镜像仓库的管理。由 @codeabovelab 提供
  • Helios:skull: - [@spotify][spotify] 开发的一个简单平台,用于在整个服务器集群中部署和管理容器
  • Kontena:skull: - 开发者友好的容器和微服务平台。适用于任何云,易于设置,简单易用。
  • Kubernetes- Google 开源的 Docker 容器编排系统
  • ManageIQ- 发现、优化和控制您的混合 IT。由 ManageIQ 提供
  • Mantl- :skull: Mantl 是一个现代平台,用于快速部署全球分布式服务
  • Marathon- :skull: Marathon 是基于 Mesos 构建的私有 PaaS。它可以自动处理硬件或软件故障,并确保应用程序“始终在线”
  • Mesos- 容器、虚拟机和物理主机的资源/作业调度器 @apache
  • Nebula- 一种设计用于管理大规模分布式集群的 Docker 编排工具。
  • Nomad- 任何规模下轻松部署应用程序。由 @hashicorp 提供的分布式、高可用性、数据中心感知调度器
  • Panamax:skull: - 一个开源项目,通过 [@CenturyLinkLabs][centurylinklabs] 使部署复杂的容器化应用程序变得像拖放一样简单。
  • Rancher- 一个开源项目,由 [@rancher][rancher] 提供一个完整的平台,用于在生产环境中操作 Docker。
  • RedHerd Framework- RedHerd 是一个协作式和无服务器的框架,用于编排地理分布的资产组,能够模拟复杂的进攻性网络空间操作。由 @RedHerdProject 提供。
  • Swarm-cronjob- 在 Swarm 上基于时间创建作业。由 [@crazy-max] 提供。

PaaS

  • Atlantis:skull: - Atlantis 是一个基于 Docker 构建、使用 Go 语言编写的开源 PaaS,用于 HTTP 应用程序
  • caprover- [曾被称为 CaptainDuckDuck] 自动可扩展 Web 服务器包(自动 Docker+nginx)- 类似于增强版的 Heroku
  • Convox Rack- Convox Rack 是一个基于专家级基础设施自动化和 DevOps 最佳实践构建的开源 PaaS
  • Dcw- Docker-compose SSH 包装器:一个非常简陋的 PaaS,暴露在容器标签中定义的 docker-compose 和自定义容器命令。
  • Dokku- Docker 驱动的迷你 Heroku,帮助您构建和管理应用程序的生命周期(最初由[@progrium][progrium]创建)。
  • Empire- 基于 Amazon EC2 容器服务(ECS)构建的 PaaS。
  • Exoframe- 一个自托管工具,允许使用 Docker 通过一条命令进行简单部署。
  • Flynn:skull: - 一个下一代开源平台即服务
  • Hephy Workflow- 一个开源的 Kubernetes PaaS,为任何 Kubernetes 集群添加了开发者友好的层,使应用程序的部署和管理变得容易。是 Deis Workflow 的分支
  • Krane- 用于在远程服务器上管理容器工作负载的工具集
  • Nanobox:heavy_dollar_sign: - 一个应用程序开发平台,可以创建本地环境,然后可以在云端部署和扩展。
  • OpenShift][openshift] - 基于 [Kubernetes][kubernetes] 构建的开源 PaaS,由 [Red Hat优化,专为 Docker 化应用开发和部署
  • Tsuru- Tsuru 是一个可扩展的开源 Platform as a Service 软件

反向代理

运行时

  • aind- :skull: AinD 在 Docker 中启动 Android 应用,通过在 Docker 中嵌套 Anbox 容器 @aind-containers
  • cri-o- 基于 Open Container Initiative 的 Kubernetes 容器运行时接口实现 cri-o
  • lxc- LXC - Linux 容器
  • podman- libpod 是一个用于创建容器 pod 的库。Podman 的主页,[@containers][containers]
  • rlxc- 由 @brauner 编写的 Rust 语言编写的 LXC 二进制文件
  • runtime-tools- oci-runtime-tool 是一个用于 OCI 运行时规范的工具集合,@opencontainers

安全

  • Anchor- 一个确保可重复构建的工具,通过在 Dockerfile 中固定依赖关系 @SongStitch
  • Anchor Enterprise:heavy_dollar_sign: - 分析镜像中的 CVE 漏洞并针对自定义安全策略进行分析,由 @Anchor 提供
  • Aqua Security:heavy_dollar_sign: - 在任何平台上从开发到生产阶段保护基于容器的应用程序
  • bane- Docker 容器的 AppArmor 配置文件生成器,由 [@genuinetools][genuinetools] 提供
  • CetusGuard- CetusGuard 是一个保护 Docker 守护进程套接字的工具,通过过滤对其 API 端点的调用来实现
  • CIS Docker Benchmark- 这个 InSpec][inspec] 合规性配置文件以自动化方式实现了 CIS Docker 1.12.0 基准,为生产环境中的 Docker 守护进程和容器提供安全最佳实践测试。由 [@dev-sec
  • Checkov- 静态分析基础设施即代码清单(Terraform、Kubernetes、Cloudformation、Helm、Dockerfile、Kustomize)中的安全配置错误并修复它们。由 @bridgecrew
  • Clair- Clair 是一个用于分析 appc 和 docker 容器中漏洞的开源项目。由 [@coreos][coreos]
  • Dagda- Dagda 是一个用于对 docker 镜像/容器中的已知漏洞、木马、病毒、恶意软件和其他恶意威胁进行静态分析的工具,并监控 docker 守护进程和正在运行的 docker 容器以检测异常活动。由 @eliasgranderubio
  • Deepfence Enterprise:heavy_dollar_sign: - 全生命周期云原生工作负载保护平台,适用于 Kubernetes、虚拟机和无服务器。由 [@deepfence][deepfence] 提供
  • Deepfence Threat Mapper- 强大的运行时漏洞扫描器,适用于 Kubernetes、虚拟机和无服务器。由 [@deepfence][deepfence] 提供
  • docker-bench-security- 检查生产环境中部署 Docker 容器常见最佳实践的脚本。由 [@docker][docker] 提供
  • docker-explorer- 帮助离线 Docker 获取取证的工具。由 [@Google][google] 提供
  • docker-lock- 一个用于 Docker 的 cli 插件,通过在单独的 Lockfile 中跟踪镜像摘要来自动管理镜像摘要。由 [@safe-waters][safe-waters] 提供
  • dvwassl- 一个支持 SSL 的 Damn Vulnerable Web App,用于测试 Web 应用程序防火墙。由 [@Peco602][peco602] 提供
  • KICS- 一个基础设施即代码扫描工具,可在开发周期早期发现安全漏洞、合规性问题以及基础设施配置错误。可扩展以支持额外的策略。由 Checkmarx 提供
  • notary- 一个服务器和客户端,用于运行和交互信任集合。由 @TUF 提供
  • oscap-docker- OpenSCAP 提供了 oscap-docker 工具,用于扫描 Docker 容器和镜像。通过 OpenSCAP
  • Prisma Cloud:heavy_dollar_sign: - (之前称为 Twistlock Security Suite) 检测漏洞,加固容器镜像,并在应用程序的整个生命周期中执行安全策略。
  • Syft- 用于从容器镜像和文件系统中生成软件物料清单 (SBOM) 的命令行工具和库。
  • Sysdig Falco- Sysdig Falco 是一个开源的容器安全监控工具。它可以监控应用程序、容器、主机和网络活动,并在出现未经授权的活动时发出警报。
  • Sysdig Secure:heavy_dollar_sign: - Sysdig Secure 通过行为监控和防御解决运行时安全问题,并提供基于开源 Sysdig 的深度取证功能,用于事件响应。
  • Trend Micro DeepSecurity:heavy_dollar_sign: - Trend Micro DeepSecurity 为容器工作负载和主机提供运行时保护,并对镜像进行预运行时扫描,以识别漏洞、恶意软件和硬编码的密钥等内容。
  • Trivy- Aqua Security 的开源简单且全面的容器漏洞扫描器(适用于 CI)。

服务发现

  • docker-consulby [@progrium][progrium]
  • docker-dns- 轻量级 Docker 容器 DNS 转发器,将主机上的容器名称解析为自定义后缀(例如 .docker),以简化服务发现,由 @bytesharky 提供
  • etcd- 分布式可靠键值存储,用于分布式系统中最关键的数据,由 @etcd-io 提供(前身为 CoreOS 的一部分)
  • istio- 用于连接、管理和保护微服务的开放平台,由 @istio 提供
  • proxy:skull: - 基于 nginx 的轻量级负载均衡器,自用 registrator 提供的服务发现功能,由 @factorish 提供
  • registrator- Docker 的服务注册桥接工具,由[@gliderlabs][gliderlabs]和[@progrium][progrium]开发

卷管理 / 数据

  • Blockbridge:heavy_dollar_sign:- Blockbridge 插件是一个卷插件,提供对一系列基于容器的持久存储选项的访问。它支持单机和多主机 Docker 环境,具有租户隔离、自动配置、加密、安全删除、快照和 QoS 等功能。由@blockbridge开发
  • Convoy:skull: - 一个开源的 Docker 卷驱动程序,可以在任何地方对 Docker 卷进行快照、备份和恢复。由[@rancher][rancher]开发
  • Docker Machine NFS:skull: - 在 OS X 上通过 Docker Machine 创建的现有 boot2docker 盒子中激活 NFS。
  • Docker Unison- :skull: 使用 Unison 的 docker 卷容器,用于快速双向文件夹同步。作为 OS X 上慢速 boot2docker 卷的替代方案创建。由 @leighmcculloch 创建。
  • - Label Backup- 一种轻量级、Docker 感知的备份代理,可自动发现并基于 Docker 标签备份容器化数据库(PostgreSQL、MySQL、MongoDB、Redis)。支持本地存储和 S3 兼容目的地,可通过 cron 表达式进行灵活调度。
  • Docker Volume Backup- 在本地或任何 S3 兼容存储中备份 Docker 卷。由 @offen 创建。
  • Local Persist指定本地卷的挂载点(通过 docker volume create 创建),以便文件始终持久化,并且您可以将它们挂载到不同容器的不同目录。
  • Minio- Docker 容器中的 S3 兼容对象存储服务器
  • NetshareDocker NFS、AWS EFS、Ceph 及 Samba/CIFS 卷插件。由 [@ContainX][containx] 提供
  • portworx:heavy_dollar_sign: - 用于持久化、共享和复制的去中心化存储解决方案。
  • quobyte:heavy_dollar_sign: - 完全容错的分布式文件系统,具有 Docker 卷驱动程序
  • REX-Ray提供了一个与供应商无关的存储编排引擎。主要设计目标是提供 Docker、Kubernetes 和 Mesos 的持久存储。由@thecodeteam(DELL Technologies)开发
  • Storidge:heavy_dollar_sign: - 适用于 Kubernetes 和 Docker Swarm 的软件定义持久存储

用户界面

IDE 集成

桌面端

用于管理和监控 Docker 主机和集群的原生桌面应用程序

Terminal

终端 UI
  • ctop (1)- :skull: 一个命令行/文本基础的 Linux 容器监控工具,正如你所期望的那样工作(Python)由 @yadutaf 提供
  • ctop (2)- :skull: 容器指标的类似 top 的界面(Golang)由 @bcicen 提供
  • d4s- 一个快速、基于键盘的终端 UI,用于管理 Docker 容器、Compose 堆栈和 Swarm 服务,具有与 K9s 相同的舒适度由 @jr-k 提供
  • dive- 一个用于探索 Docker 镜像每一层的工具。由 wagoodman 提供。
  • dockdash- 详细统计信息。由 [@byrnedo] 提供。
  • Docker-mon:skull: - 基于 Console 的 Docker 监控工具,由 @icecrime 提供。
  • dockly- 一个用于管理 Docker 容器的交互式 Shell UI,由 @lirantal 提供。
  • DockMate- 轻量级基于终端的 Docker 和 Podman 管理器,具有文本用户界面,由 @shubh-io 提供。
  • DockSTARTer- DockSTARTer 帮助您通过 Docker 运行家庭服务器应用程序,由 GhostWriters 提供。
  • docui- :skull: 一个用于管理 Docker 容器的交互式 Shell UI。也适用于 Windows。由 [@skanehira] 提供。
  • dprs- 一个面向开发者的 TUI,用于管理 Docker 容器,具有实时日志流和容器管理功能。使用 Rust 构建。由 @durableprogramming 提供。
  • dry- 一个用于 Docker 容器的交互式 CLI,由 @moncho 提供
  • goManageDocker- 一个 TUI 工具,可以快速查看和管理您的 docker 对象,具有合理的按键绑定,并且默认支持 VIM 导航,由 @ajay-dsan 提供
  • lazydocker- 管理所有 docker 的更懒的方式。一个用于 docker 和 docker-compose 的简单终端 UI,使用 Go 语言和 gocui 库编写,由 @jesseduffield 提供
  • lazyjournal- 一个用于在终端中读取和过滤 Docker 和 Podman 容器日志输出的界面,类似于 Dozzle,但支持模糊查找、正则表达式和输出着色
  • oxker- 一个简单的 TUI 工具,用于查看和控制 Docker 容器。使用 Rust 编写,大量使用 ratatuiBollard,由 @mrjackwills 开发
  • sen- :skull: Docker 引擎的终端用户界面,由 [@TomasTomecek][tomastomecek] 开发
命令行工具
  • captain- 从任何目录轻松启动和停止 Docker Compose 项目。由 @jenssegers 开发
  • dcinja- 用于 docker 命令行环境的强大且最小的二进制模板引擎。由 @Falldog 提供。
  • dcp- 一个简单的工具,用于从容器文件系统中复制文件。由 @exdx 提供。
  • dctl- dctl 是一个帮助开发者的命令行工具,允许他们在终端的任何地方执行所有 docker compose 命令,以及更多功能。由 FabienD 提供。
  • decompose- 用于 docker 环境的逆向工程工具。由 @s0rg 提供。
  • docker-captain- 一个友好的 CLI 工具,用于以优雅的方式管理多个 Docker Compose 部署——由 Typer、Rich、questionary 和 sh 提供支持。
  • docker-ls- 用于浏览和操作 docker 仓库的 CLI 工具,由@mayflower开发。
  • docker pushrm- 一个 Docker CLI 插件,允许您将当前目录中的 README.md 文件推送到 Docker Hub。同时支持 Quay 和 Harbor。由@christian-korneck开发。
  • dockersql- :skull: 一个使用 SQL 查询 Docker 的命令行界面,由@crosbymichael开发。
  • DVM- Docker 版本管理器,由@howtowhale开发
  • goinside- 轻松进入正在运行的 Docker 容器。由@iamsoorena开发
  • ns-enter- :skull: 无需 ssh,通过[@jpetazzo][jpetazzo]进入容器命名空间
  • Pdocker- 一个简单的工具,用于管理和维护个人项目的 Docker,由@g31s开发
  • proco- Proco 将帮助您使用简单的 YAML 配置文件来组织和管理工作负载任何复杂度的 Docker、Docker-Compose、Kubernetes 项目,从而缩短从找到项目到在本地环境中初始化它的路线。by [@shiwaforce]
  • reg- :skull: Docker registry v2 命令行客户端。[by [@genuinetools][genuinetools]]
  • scuba- 透明地使用 Docker 容器来封装软件构建环境。by [@JonathonReinhart]
  • skopeo- 与远程镜像仓库一起工作 - 检索信息、镜像、签名内容。[by [@containers][containers]]
  • supdock- 允许以更具视觉化的方式使用 Docker,并提供交互式提示。由 @segersniels 提供
  • tsaotun- 基于 Python 的 Docker 辅助工具,由 @qazbnm456 提供
  • wharfee- :skull: Docker 命令的自动补全和语法高亮。由 @j-bennet 提供
其他

Web

  • Admiral- :skull: Admiral™是一个高度可扩展且非常轻量级的容器管理平台,用于部署和管理基于容器的应用程序。由[VMWare][vmware]提供。
  • CASA- 将几个容器的管理外包给你的同事,由 @knrdl 提供
  • Container Web TTY- 通过 Web-TTY 连接你的容器 @wrfly
  • dockemon- 由 @productiveops 提供的 Docker 容器管理 GUI
  • Docker Compose UI- :skull: 通过 HTTP 管理 docker-compose。docker-compose-ui 在 Docker 容器中运行,挂载主机的 docker socket,并暴露一个 RESTful API 和 AngularJS GUI
  • Docker Registry Browser- Docker Registry HTTP API v2 的 Web 界面,由 @klausmeyer 提供
  • Docker Registry UI (Joxit)- :skull: 私有注册表最简单、最干净的 UI,由 @Joxit 提供
  • Docker Registry UI- 用于轻松集成私有/本地 Docker Registry 的 Web UI,由 @atcol 提供
  • docker-registry-web- 私有 docker registry v2 的 Web UI、认证服务和事件记录器,由 @mkuchin 提供
  • docker-swarm-visualizer- 在 Docker Swarm 上可视化 Docker 服务(用于运行演示)。
  • dockering-on-rails:skull: - 具有大量功能的简单 Docker Web 界面,由 @Electrofenster 提供。
  • DockerSurfer:skull: - 一个用于分析和浏览 Docker 注册表中 Docker 镜像之间依赖关系的网络服务,由 @Simone-Erba 提供。
  • dockge- 易于使用和响应式的自托管 docker compose.yaml 堆栈导向管理器,由 @louislam 提供。
  • Komodo- 一个用于在多台服务器上构建和部署软件的工具
  • Kubevious- 一个高度可视化的 Kubernetes Web UI,通过 @rubenhak 以应用程序为中心的方式渲染配置和状态。
  • Mafl- @hywax 开发的极简主义灵活主页
  • netdata- 实时性能监控
  • OctoLinker- 一个 GitHub 浏览器扩展,使 Dockerfile 中的图像名称可点击,并重定向到相关的 Docker Hub 页面。
  • Portainer- 一个轻量级的管理 UI,用于管理您的 Docker 主机或 Docker Swarm 集群,由 @portainer 提供。
  • Rapid Dashboard- 一个简单的查询仪表板,用于使用 Docker 远程 API,由 @ozlerhakan 提供。
  • Seagull- 友好的 Web UI 用于监控 docker 守护进程,由 @tobegit3hub 提供。
  • Swarmpit- Swarmpit 为您的 Docker Swarm 集群提供简单易用的界面。您可以管理您的堆栈、服务、密钥、卷、网络等。
  • Swirl- Swirl 是一个用于 Docker 的 Web 管理工具,专注于 Swarm 集群。By @cuigh
  • Theia- 可扩展的平台,用于开发全功能的、多语言的云端和桌面 IDE 类产品,采用最先进的 Web 技术。
  • Yacht:construction: - 一个专注于模板和易用性的 Docker Web 界面,旨在使部署尽可能简单。By @SelfhostedPro

Docker 镜像

基础工具

安装在容器内部或设计为作为 sidecar运行的工具和应用程序
  • amicontained- 容器自省工具。确定正在使用的容器运行时以及 [@genuinetools][genuinetools] 提供的功能
  • Chaperone- 一个为 docker 容器设计的单 PID1 进程。集成了用户管理、日志管理、启动、僵尸进程回收等功能于一身的小型工具包。by @garywiz
  • ckron- 一个适用于 docker 的 cron 风格任务调度器,by @nicomt
  • [CoreOS][coreos] - 大规模服务器部署的 Linux
  • distroless- 专注于语言的 docker 镜像,不包含操作系统,by [@GoogleContainerTools][googlecontainertools]
  • docker-alpine- 一个超级小巧的 Docker 基础镜像 (5MB),使用 Alpine Linux 由 [@gliderlabs][gliderlabs] 提供
  • docker-gen- 根据 Docker 容器元数据生成文件,由 [@jwilder][jwilder] 提供
  • dockerize- 简化在 Docker 容器中运行应用程序的工具,由 [@jwilder][jwilder]、[@powerman][powerman] 提供
  • GoSu- 以特定用户身份运行此特定应用程序并退出管道(入口脚本工具),由 @tianon 提供
  • is-docker- 通过 [@sindresorhus][sindresorhus] 检查进程是否在 Docker 容器内运行
  • lstags- 通过 @ivanilves 在注册表之间同步 Docker 镜像
  • microcheck- Docker 容器的轻量级健康检查工具(与 httpcheck 相比,microcheck 仅占用 75 KB 而不是 9.3 MB),纯 C 语言编写 - 包含 http(s)、端口检查和并行执行功能。由 @tarampampam 提供
  • NVIDIA-Docker- :skull: NVIDIA 的 Docker 容器运行时由 [@NVIDIA][nvidia] 提供
  • Ofelia- Ofelia 是一个为 docker 环境设计的现代且低占用的任务调度器,基于 Go 构建。Ofelia 旨在替代传统的 cron。支持通过容器标签和/或配置文件进行配置。
  • SparkView- 随时随地访问虚拟机、桌面、服务器或应用程序,无需复杂且昂贵的客户端部署或用户管理。
  • su-exec- 这是一个简单的工具,可以以不同的权限执行程序。程序将直接执行,而不是像 su 和 sudo 那样作为子进程运行,从而避免 TTY 和信号问题。为什么要重新发明 gosu?它几乎与 gosu 做完全相同的事情,但只有 10kb,而不是 1.8MB。由 ncopa 提供。
  • sue- 以不同于运行 sue 的用户身份执行程序。这是 ncopa/su-exec 的可维护替代方案,而 ncopa/su-exec 是比 tianon/gosu 更好的选择。这个版本远优于原始 gosu(性能更高,体积更小),但它比用纯 C 编写的 su-exec 更容易维护。由 [Akito][akito] 制作
  • supercronic- 兼容 crontab 的工作运行器,专为在容器中运行而设计 @aptible
  • TrivialRC- 容器的极简运行时配置系统和进程管理器 @vorakl

Builder

用于帮助或简化构建图像的应用程序
  • ansible-bender- 一个利用 ansiblebuildah 的工具,由 [@TomasTomecek][tomastomecek] 提供
  • buildah- 一个通过 [@containers][containers] 便于构建 OCI 图像的工具
  • BuildKit- 由 @moby project 提供的并发、缓存高效且与 Dockerfile 无关的构建工具包
  • cekit- 一个由 OpenShift 使用的工具,通过不同的构建引擎构建基础镜像,由 @cekit 提供。
  • container-diff- :skull: 一个用于比较和分析容器镜像的工具,由 [@GoogleContainerTools][googlecontainertools] 提供。
  • container-factory- 从应用程序源代码的 tarball 生成 Docker 镜像,由 @mutable 提供。
  • copy-docker-image- 在注册表之间复制 Docker 镜像,无需完整 Docker 安装,由 @mdlavin 提供。
  • Derrick- 一个帮助你通过扫描代码来自动生成 Dockerfile 并容器化应用程序的工具。由 @alibaba 提供。
  • dlayer- 由 @orisano 开发的 Docker 层分析工具。
  • docker-companion- 一个用 Golang 编写的命令行工具,用于压缩和解包 Docker 镜像。由 @mudler 提供。
  • docker-make- 通过单个命令构建、标记和推送一系列相关的 Docker 镜像。
  • docker-replay- 从运行中的容器生成 docker run 命令和选项。由 bcicen 提供
  • docker-repack- 将 Docker 镜像重新打包成更小、更高效的版本,从而显著提高拉取速度。由 orf 提供
  • DockerMake- 用于复杂软件堆栈的可重复 Docker 镜像构建系统。由 @avirshup 提供
  • DockerSlim压缩臃肿的 Docker 镜像,创建尽可能小的镜像。
  • Dockly- Dockly 是一个用于简化在 Docker 中打包应用程序的 gem,由 @swipely 制作
  • dockramp:skull: - 概念验证:一个由客户端驱动的 Docker 图像构建器,由 @jlhawn 制作
  • essex- 基于 Docker 的项目的模板:Essex 是一个用 bash 编写的 CLI 工具,用于快速设置干净且一致的 Docker 项目,并使用 Makefile 驱动的流程。@jamesbrink
  • HPC Container Maker- 从高级 Python 菜单生成 Dockerfile,包括用于高性能计算组件的构建块,由 [@NVIDIA][nvidia] 制作
  • img- 独立运行、无守护进程、无特权的 Dockerfile 和 OCI 兼容容器镜像构建器,由[@genuinetools][genuinetools]开发
  • kaniko- 在 Kubernetes 中构建容器镜像。由[@GoogleContainerTools][googlecontainertools]开发
  • makisu- :skull: Uber 的快速灵活的无特权镜像构建器,支持 Mesos 和 Kubernetes,并具有分布式缓存功能。由@uber开发
  • packer- Hashicorp 工具,用于构建机器镜像,包括与 chef、puppet、ansible 等配置管理工具集成的 docker 镜像
  • portainer- Apache Mesos 框架,用于构建 Docker 镜像,由 @duedil-ltd 提供
  • Production-Ready Python Containers :heavy_dollar_sign:- 用于创建生产就绪的 Python 应用 Docker 镜像的模板。
  • RAUDI- 一个工具,用于自动更新(并可选择推送到 Docker Hub)第三方软件的 Docker 镜像,每当有新发布/更新/提交时。由 @SecSI 提供
  • runlike- 从正在运行的容器生成 docker run 命令和选项,由 @lavie 提供
  • SkinnyWhale:skull: - SkinnyWhale 帮助您创建更小的(以兆字节计)Docker 容器。
  • Smith- :skull: 一个微容器构建器,可以在镜像构建后执行多阶段构建 [Oracle][oracle]
  • userdef- 一个高级的 adduser,适用于基于 Alpine 的 Docker 镜像。由 [Akito][akito] 制作。
  • Whaler- 一个将 Docker 镜像反编译为 Dockerfile 的程序,由 @P3GLEG 提供。
  • Whales- 一个通过 @icalialabs 自动将您的应用程序容器化的工具。

Dockerfile

  • chaperone-docker- 一套使用 Chaperone 进程管理器的镜像,包括精简的 Alpine 镜像、LAMP、LEMP 以及基础套件。
  • Dockerfile Generatordfg 既是 Go 库也是可执行文件,通过多种输入通道生成有效的 Dockerfile。
  • Dockerfile 项目- 可信赖的自动化 Docker 构建。Dockerfile 项目维护了一个中央仓库,其中包含适用于 Docker 容器的各种流行开源软件服务的 Dockerfile。
  • dockerfilegraph- 可视化您的多阶段 Dockerfile。由 @PatrickHoefler 提供。
  • Dockershelf- 一个作为通用、高效和精简的 docker 配方收集器的仓库。镜像通过 Travis 定时任务每日更新、测试和发布。由 @CollageLabs 维护。
  • dockmoor:skull: - 管理 Docker 镜像引用,并帮助创建可重复的 Docker 构建。由 @MeneDev 提供。
  • Vektorcloud- 一系列基于 Alpine 的极简 Docker 镜像
示例由:

Linter

  • Dockadvisor- 轻量级 Dockerfile 代码检查工具,包含 60+ 规则,支持质量评分和安全检查,由 @deckrun 提供
  • docker-image-size-limit- 用于监控 Docker 镜像大小的工具。
  • Dockerfile Linter action- 该代码检查工具允许您验证 Dockerfile 语法,以确保其符合构建高效 Docker 镜像的最佳实践。
  • dockfmt:construction: - 由 [@jessfraz][jessfraz] 开发的 Dockerfile 格式化工具和解析器
  • FROM:latest- 由 @replicatedhq 开发的 Dockerfile 代码检查工具
  • Hadolint- 一个检查最佳实践、常见错误的 Dockerfile 代码检查工具,同时也能检查 RUN 指令中编写的任何 bash 代码;由 @lukasmartinelli 开发
  • Whale-linter- :skull: 由 @jeromepin 开发的一个简单、小巧的 Python3+ 编写的 Dockerfile 代码检查工具,无需依赖

Metadata

  • opencontainer- OCI 镜像规范定义的 Docker 标签的规范和共享命名空间。

Registry

用于安全存储您的 Docker 镜像的服务。
  • Amazon Elastic Container Registry :heavy_dollar_sign:- Amazon Elastic Container Registry (ECR)是一个完全托管的 Docker 容器镜像仓库,使开发人员能够轻松存储、管理和部署 Docker 容器镜像。
  • Azure 容器注册中心 :heavy_dollar_sign:- 将 Docker 私有注册中心作为一流的 Azure 资源进行管理
  • CargoOS- 一个精简的操作系统,用于在裸金属或云上运行 Docker 引擎。由 @RedCoolBeans 提供
  • cleanreg- 一个小工具,用于从实现 API v2 的 Docker 注册中心中删除镜像元数据,并通过 @hcguersoy 为垃圾回收进行引用解析
  • Cloudsmith :heavy_dollar_sign:- 一个完全托管的包管理 SaaS,对公共和私有 Docker 注册中心(以及其他许多,包括 Kubernetes 生态系统的 Helm 图表)提供一流的 支持。具有慷慨的免费套餐,并且对开源项目完全免费
  • 容器注册服务 :heavy_dollar_sign:- 基于 Harbor 的容器管理解决方案即服务,适用于团队和组织。免费套餐提供 1 GB 存储空间用于私有仓库。
  • Cycle.io :heavy_dollar_sign:- 纯金属容器托管服务。
  • DigitalOcean :heavy_dollar_sign:- DigitalOcean 容器注册中心。
  • Docker Hub由 Docker Inc.提供。
  • [Docker Registry v2][distribution] - Docker 工具集,用于打包、运输、存储和交付内容
  • Docket- 自定义的 Docker Registry,通过 BitTorrent 实现极速部署,由@netvarun开发
  • Dragonfly- 基于 P2P 技术提供高效、稳定和安全的文件分发和镜像加速
  • GCP Artifact Registry :heavy_dollar_sign:Google Cloud Platform 上的快速、私有的 Docker 镜像存储
  • Gitea 容器镜像仓库- Gitea 集成的 Docker 仓库,非常适合私有、小规模的镜像存储。
  • GitHub 容器镜像仓库- GitHub 用于存储和管理 Docker 镜像的解决方案,与 GitHub Actions 紧密集成。
  • GitLab 容器镜像仓库- 专注于在 GitLab CI 中使用其镜像的仓库。
  • Harbor- 一个开放源码的、值得信赖的云原生仓库项目,用于存储、签名和扫描内容。支持复制、用户管理、访问控制和活动审计。由 CNCF 前身 [VMWare][vmware] 支持。
  • JFrog Artifactory :heavy_dollar_sign:- 软件构件仓库管理器,也可用作私有 Docker 仓库
  • Kraken- Uber 的高可扩展 P2P Docker 仓库,能够在秒级内分发 TB 级数据。
  • nscr- 一个轻量级、自包含的容器仓库,易于运行和维护。
  • Quay.io :heavy_dollar_sign:(CoreOS 的一部分) - 私有 Docker 仓库的安全托管平台
  • Registryo- 用于本地 Docker registry 的基于 UI 和 token 的认证服务器
  • RepoFlow- 一个简单易用的包管理平台,支持 Docker 以及其他格式如 PyPI、Maven、npm 和 Helm。包括智能搜索、内置 Docker 镜像扫描,以及适用于自托管和云使用的优秀免费选项。
  • Rescoyl- 由 @noteed 提供的私有 Docker registry(免费且开源)
  • Sonatype Nexus Repository- 跨软件供应链管理二进制文件和构建工件。

使用 Docker 开发

API 客户端

CI/CD

  • Buddy :heavy_dollar_sign:- 将 Git、构建和部署工具结合在一起的最佳工具,极大地提升了我们的开发效率。
  • Captain- 通过 @harbur 将您的 Git 工作流程转换为 Docker 容器,以支持持续交付。
  • Cyclone- 由 @caicloud 开发的强大工作流引擎和端到端管道解决方案,使用原生 Kubernetes 资源实现。
  • Defang- 通过 @DefangLabs 在几分钟内将 Docker Compose 部署到您喜欢的云上
  • Depot :heavy_dollar_sign:- 快速构建 Docker 镜像,在云端。极速计算,自动智能缓存,无需配置。秒速完成
  • Diun- 当 Docker 注册表中的镜像或存储库更新时,通过 [@crazy-max] 接收通知。
  • dockcheck- 一个检查 Docker 镜像更新的脚本,无需拉取即可自动更新选定的/所有容器。支持通知、清理等。
  • Jenkins 的 Docker 插件- Docker 插件的目标是能够使用 Docker 主机动态地配置一个从节点,运行单个构建,然后拆除该从节点。
  • Drone- 基于 Docker 构建的持续集成服务器,使用 YAML 文件进行配置。
  • Gantry- 自动更新选定的 Docker 集群服务。
  • GitLab Runner- GitLab 集成了 CI,使用 GitLab Runner 来测试、构建和部署您的代码。
  • GOCD-Docker:skull: - Go 服务器和代理在 Docker 容器中进行资源调配。
  • Jaypore CI- 简单、非常灵活、强大的 CI/CD/自动化系统,使用 Python 配置。离线优先,本地优先。
  • Kraken CI- 现代 CI/CD,开源,本地系统,高度可扩展,专注于测试。其执行器之一是 Docker。由 @Kraken-CI 开发。
  • Microservices Continuous Deployment- 微服务应用程序的持续部署。
  • mu- 通过 AWS CodePipeline、CodeBuild 和 ECS 配置容器应用程序的 CI/CD 工具 @Stelligent
  • Ouroboros:skull: - 自动更新正在运行的 Docker 容器并通知
  • Popper- Github actions 工作流(HCL 语法)执行引擎。
  • Screwdriver :heavy_dollar_sign:- 雅虎开源的持续交付构建平台
  • Skipper- 通过 @Stratoscale 轻松将您的 Git 仓库 Docker 化
  • SwarmCI- 在您的 Docker Swarm 中创建分布式、隔离的任务管道。
  • Tekton CD- 一种云原生管道资源。
  • Watchtower- 自动更新正在运行的 Docker 容器

开发环境

  • batect- :skull: 代码构建和测试环境工具:通过 @charleskorn 使 Docker 化的构建和测试环境变得简单
  • Binci- 容器化你的开发工作流。(原为 @TechnologyAdvice 的 DevLab)
  • Boot2Docker:skull: - 用于 macOS 和 Windows 的 Docker
  • coder- 由 Terraform 或 Docker 驱动的远程开发机器,@coder
  • construi- 在 Docker 定义的环境中运行您的构建,@lstephen
  • Crashcart- :skull: 将 Linux 二进制文件加载到正在运行的容器中进行故障排除,[@Oracle][oracle]
  • dde:construction: - 基于 Docker 的本地开发环境工具集,@whatwedo
  • Devstep:skull: - 由 Docker 和 buildpacks 支持的开发环境,[@fgrehm][fgrehm]
  • Dinghy- :skull: - 在 Mac OS X 上使用 Docker 的另一种方式,使用 Docker Machine 与虚拟机(virtualbox、vmware、xhyve 或 parallels)
  • DIP- CLI 工具,用于直接配置和与由 docker-compose 配置的应用程序交互。@bibendi
  • DLite:skull: - 在 macOS 上使用 Docker 最简单的方法,无需虚拟机。@nlf
  • dobi- 一个用于 Docker 应用的构建自动化工具。由 @dnephin 提供
  • Docker Missing Tools- 一套用于简化典型 docker dev-ops 的 bash 命令。作为在代码仓库中创建 "build.sh" 和 "deploy.sh" 等典型辅助脚本的一种替代方案。由 @NandoQuintana 提供
  • Docker osx dev:skull: - 在 OS X 上使用 Docker 的高效开发环境。由 @brikis98 提供
  • Docker-Arch- 从一个简单的 YAML 文件生成 Web/CLI 项目的 Docker 化开发环境。由 @Ph3nol 提供
  • Docker-sync- 在 Mac OS X/Windows 和 Linux 上使用 Docker 进行开发时,通过将代码共享到容器中,可大幅提升性能(50-70 倍)。由 @EugenMayer 提供
  • docker-vm- boot2docker 的简单透明替代方案(由 Vagrant 支持),由 @shyiko 提供
  • DockerBuildManagement- :skull: 构建管理是一个基于 Python 的应用程序,通过 pip 安装。该应用程序通过配置一个描述如何构建、测试、运行或发布容器化解决方案的 YAML 文件,使管理基于 Docker 的构建系统变得简单。
  • DockerDL- 深度学习 Docker 镜像。无需浪费时间设置深度学习环境,因为您可以直接获得预装了所有所需组件的深度学习环境。
  • Dusty- :skull: 在 OS X 上管理 Docker 开发环境
  • Eclipse Che- 带有 Docker 运行的开发者工作空间服务器,云端 IDE,下一代 Eclipse IDE
  • EnvCLI- 用项目特定的 docker 容器替换本地安装的 Node、Go 等。由 @EnvCLI 提供
  • ESP32 Linux - Docker builder- 用于编译 Linux 并为 ESP32 微控制器开发的容器解决方案 - 由 @Hpsaturn 提供
  • footloose- :skull: 似虚拟机的容器旋转工具 - By @dlespiau
  • forward2docker:skull: - 自动将本地端口转发到 boot2docker 虚拟机中运行的 Docker 容器端口的工具 - By @bsideup
  • Gebug- 一个使 Docker 化 Go 应用程序调试变得非常简单的工具,通过启用调试器和热重载功能,无缝进行。
  • Kitt- 基于 Docker 和 Nix 的可移植和一次性 Shell 环境。By @senges
  • Lando- Lando 是为开发者提供的工具,可以快速指定并轻松启动开发项目所需的服务和工具。由 Tandem 提供
  • Rust Universal Compiler- 用于为 Linux、macOS 和 Windows 编译 Rust 项目的容器解决方案。由 [@Peco602][peco602] 提供
  • uniget- uni(versal)get,用于容器工具和更多内容的安装器和更新器(前身为 docker-setup)。由 @nicholasdille 提供
  • Vagga- Vagga 是一款无守护进程的容器化工具。它是一个完全运行在用户空间的容器引擎,受 Vagrant 和 Docker 启发,专门用于开发环境。由 @tailhook 提供
  • Zsh-in-Docker- 在 Docker 容器中通过一行命令安装 Zsh、Oh-My-Zsh 和插件!由 Deluan 提供

垃圾回收

  • caduc- 一个 Docker 垃圾回收工具,清理您最近未使用的文件
  • Docker Clean- 一个脚本,通过 @zzrotdesign 清理 Docker 容器、镜像和卷
  • docker_gc- 用于自动删除未使用 Docker Swarm 对象的镜像。同样可以作为 Docker Service 使用 @pdacity
  • Docker-cleanup:skull: - 自动清理 Docker 镜像、容器和卷 @meltwater
  • docker-custodian- 保持 docker 主机整洁。 @Yelp
  • docker-garby:skull: - Docker 垃圾回收脚本 @konstruktoid
  • docker-gc:skull: - 一个定时任务,用于删除旧的已停止容器和未使用的镜像,由 [@spotify][spotify] 提供
  • Docuum- 通过 @stepchowfun 实现的 Docker 镜像最近最少使用(LRU)淘汰
  • sherdock:skull: - 基于正则表达式自动进行镜像垃圾回收,由 [@rancher][rancher] 提供

无服务器

  • AMP:skull: - 一个开源的统一 CaaS/FaaS 平台,适用于 Docker,包含所有必需组件。由 @Appcelerator 提供。
  • Apache OpenWhisk- 一个无服务器、开源的云平台,可在任何规模上响应事件执行函数。由 @apache 提供。
  • Docker-Lambda- :skull: Docker 镜像和测试运行器,可复制 AWS Lambda 的实时环境。由 @lamb-ci 提供。
  • Funker- 作为 Docker 容器的函数示例投票应用。由 @bfirsh 提供。
  • IronFunctions- 基于 Docker 容器的无服务器微服务平台 FaaS(函数即服务),支持运行任何语言或 AWS Lambda 函数
  • Koyeb:heavy_dollar_sign: - Koyeb 是一个开发者友好的无服务器平台,用于全球部署应用。可无缝运行 Docker 容器、Web 应用和 API,支持基于 git 的部署、原生自动扩展、全球边缘网络,以及内置的服务网格和发现功能
  • OpenFaaS- 一个完整的基于 Docker 和 Kubernetes 的无服务器函数框架。由OpenFaaS提供
  • SCAR- 无服务器容器感知架构(SCAR)是一个无服务器框架,允许在无服务器环境(如 Lambda)中轻松部署和执行容器(如 Docker)。由@grycap开发

测试

包装器

  • Ansible- 管理 Docker 容器的生命周期。由 RedHat 提供
  • Azk- :skull: 通过 @azukiapp 在本地机器上编排开发环境
  • Beluga:skull: - 用于在单个服务器或少量服务器上部署 Docker 容器的命令行工具。由 @cortextmedia 提供
  • dexec- 使用 Go 编写的命令行界面,用于使用 Docker Exec 镜像运行代码。
  • dockerized- 无缝在容器中执行命令。
  • Dray- 一个用于管理基于容器的作业执行引擎,由 [@CenturyLinkLabs][centurylinklabs] 提供
  • FuGu:skull: - 一个没有编排功能的 Docker 运行包装器,由 @mattes 提供
  • Hokusai- 一个面向应用开发者的 Docker + Kubernetes 命令行工具;用于容器化应用,并在开发、测试和发布周期中管理其生命周期。来自 @artsy
  • Preevy- Docker 和 Docker Compose 项目的预览环境。通过将拉取请求部署到您的云提供商作为 CI 管道的一部分,测试您的更改并从开发者和非开发者(产品/设计)那里获取反馈。
  • Shutit- 用于构建和维护复杂 Docker 部署的工具,由 @ianmiell 提供
  • subuser- 使在 Docker 中安全、便携地运行图形桌面应用程序变得容易
  • T.A.D.S. 模板- :skull: Ansible 和 Terraform 的强大功能 + Docker Swarm 的简单性 = 代码即基础设施和 DevOps 最佳实践。由 @Thomvaill 提供
  • Terraform cloud-init 配置- 用于将单个 Docker 镜像或 docker-compose.yaml 文件部署到任何 Cloud™ 虚拟机的 Terraform 模块
  • Turbo- 简单且强大的 docker 工具。由 [@ramitsurana][ramitsurana] 提供
  • udocker- 一种无需 root 权限即可在批处理或交互式系统中执行简单 docker 容器的工具,由 @inidigo-dc 提供
  • Vagrant - Docker 提供者- 良好的起点是 vagrant-docker-example,由 @bubenkoff 提供

基于 Docker 的服务(主要为 :heavy_dollar_sign:)

持续集成服务

  • CircleCI:heavy_dollar_sign: - 从您的构建环境中推送或拉取 Docker 镜像,或在 CircleCI 上直接构建和运行容器。
  • CodeFresh:heavy_dollar_sign: - 构建、测试和分享您的 Docker 应用所需的一切。提供端到端的自动化测试。
  • CodeShip:heavy_dollar_sign: - 在您现有的 Docker 工作流程中工作,同时通过我们专门为速度和安全性设计的托管平台自动化您的测试和部署任务。
  • ConcourseCI:heavy_dollar_sign: - 面向开发者和 DevOps 团队的管道式 CI SaaS 平台。
  • Semaphore CI:heavy_dollar_sign: — 一款高性能云解决方案,可轻松构建、测试并将您的容器部署到生产环境。
  • TravisCI:heavy_dollar_sign: - 开发者和 DevOps 免费使用的 GitHub 项目持续集成 SaaS 平台。

CaaS

  • Amazon ECS:heavy_dollar_sign: - 一个在 EC2 上提供的管理服务,支持 Docker 容器。
  • Appfleet:heavy_dollar_sign: - 边缘平台,用于全球部署和管理容器化服务。系统将流量路由到最近的位置以降低延迟。
  • Azure AKS:heavy_dollar_sign: - 简化 Kubernetes 管理、部署和运维。使用完全托管的 Kubernetes 容器编排服务。
  • Cloud 66:heavy_dollar_sign: - 全栈托管容器管理服务
  • Giant Swarm:heavy_dollar_sign: - 简单的微服务基础设施。在几秒钟内部署您的容器。
  • Google Container Engine:heavy_dollar_sign: - 由 [Kubernetes][kubernetes] 驱动的 Google 云计算上的 Docker 容器。
  • Mesosphere DC/OS 平台:heavy_dollar_sign: - 基于 Apache Mesos 由 @mesosphere 构建的数据和容器集成平台
  • Red Hat OpenShift Dedicated:heavy_dollar_sign: - 在 Amazon Web Services 和 Google Cloud 上提供的完全托管的 Red Hat® OpenShift® 服务
  • Triton:heavy_dollar_sign: - Joyent 提供的弹性容器原生基础设施。
  • Virtuozzo Application Platform:heavy_dollar_sign: - 在广泛的可靠服务提供商网络中,使用即用型 PaaS 部署和管理您的项目。

监控服务

  • AppDynamics- Docker 监控扩展从 Docker 远程 API 收集指标,可以使用 Unix Socket 或 TCP。
  • Better Stack:heavy_dollar_sign: - 一个兼容 Docker 的可观察性堆栈,为各种软件应用提供强大的日志聚合和运行时间监控功能。
  • Broadcom Docker Monitoring:heavy_dollar_sign: - Broadcom 的敏捷运营解决方案为业务提供现代 Docker 监控功能,以加速和优化微服务及其运行环境的性能。监控 Docker 环境及其内部运行的应用。(前身为 CA Technologies)
  • 使用 Splunk 收集 docker 日志和统计信息
  • Datadog:heavy_dollar_sign: - Datadog 是一个面向大规模云环境的全栈监控服务,聚合来自服务器、数据库和应用的指标/事件。它支持 Docker、Kubernetes 和 Mesos。
  • DockStat:construction: - 一个完整的(进行中)Docker 管理解决方案,支持插件和社区集成,由 its4nik 提供
  • Prometheus:heavy_dollar_sign: - 开源服务监控系统和时间序列数据库
  • Site24x7:heavy_dollar_sign: - Docker 监控为 DevOps 和 IT 提供 SaaS 按主机付费模式
  • SPM for Docker:heavy_dollar_sign: - 监控主机和容器指标、Docker 事件和日志。自动日志解析。指标和日志的异常检测和告警。@sematext
  • Sysdig Monitor:heavy_dollar_sign: - Sysdig Monitor 可作为软件或 SaaS 服务使用,通过系统调用监控、告警和排错容器。它具有针对 Docker 和 Kubernetes 的容器特定功能。

有用资源

神奇列表

演示和示例

  • 前端 Web 开发的注解 Docker 配置使用 Docker 的本地开发环境允许你将项目所需的 devops 配置进行封装,使入职过程更加顺畅。
  • Local Docker DB@alexmacarthur 提供的一个包含大量数据库的 docker-compose 示例列表
  • Webstack-micro演示 Web 应用,展示如何使用 Docker Compose 来设置 API 网关、集中式认证、后台工作进程和作为容器化服务的 WebSockets。

好建议

树莓派 & ARM

安全

视频

社区和线下活动

巴西

中文

英文

Russian

Spanish

😀 😊 😵‍💫 😡 🤝 🙏 👍 👎 ❤️