5 个很棒的 Docker 工具,让您的生活更轻松

发布:2024-11-13 09:03 阅读:15 点赞:1

嘿,你好!使用 Docker 有时可能会很痛苦,但这些工具可以使它变得更加容易。多年来,我尝试了数十种 Docker 工具,这五种工具绝对成为我的最爱(略带偏见!无论您是调试容器、管理映像还是部署,这里都有可以帮助您节省时间的功能:)

让我们开始吧!

码头工人

1. Lazy Docker 

懒惰的 Docker

Lazy Docker 是 Docker 和 Docker Compose 的终端 UI,使管理容器变得轻而易举。您不必记住和输入冗长的 Docker 命令,而是获得一个交互式界面,只需按一下键即可获得所有内容。

一些主要功能包括:

  • 一目了然地查看容器状态、日志和指标
  • 一键重启/删除/重建容器
  • 使用 ASCII 图形监控资源使用情况
  • 轻松连接到容器外壳
  • 删除未使用的容器、映像和卷
  • 完全支持鼠标单击和滚动

入门非常简单。在 Mac 上,您可以使用以下命令进行安装:

brew install lazydocker
 

然后你可以运行 container 来启动它。lazydocker

docker run --rm -it -v \
/var/run/docker.sock:/var/run/docker.sock \
-v /yourpath:/.config/jesseduffield/lazydocker \
lazyteam/lazydocker
 

不要忘记替换为您的主目录的路径。/yourpath

2. Sliplane

Sliplane 是一个托管平台,使部署 Docker 容器变得超级简单。虽然它不完全是传统意义上的“工具”,但它已成为许多部署 Docker 容器的公司的首选解决方案(完全披露:我是联合创始人!

使其非常适合 Docker 部署的主要功能:

  • 从 GitHub 或 Docker Hub 推送到部署
  • 零停机部署
  • 自动运行状况检查和通知
  • 内置日志记录和监控
  • 按服务器付费模式(在一台服务器上托管无限的容器)

我特别喜欢的是,您不需要任何 DevOps 知识 - 如果您的应用程序在本地容器中运行,它将在生产环境中运行。只需连接您的 GitHub 存储库或指向 Docker Hub 镜像,即可开始。

定价也非常简单 - 您为服务器付费(每月 7 欧元起),并且可以在其上托管任意数量的容器。当您有多个小型项目或需要开发环境时,这是完美的选择。

部署过程如下所示:

您可以免费试用 2 天,看看它是否符合您的需求!
在 2 分钟内部署 Docker 应用程序

3. Dive

潜水

Dive 是一个令人难以置信的工具,用于逐层探索和分析 Docker 镜像。它准确显示每个图层中更改的文件,并通过突出显示重复文件和浪费的空间来帮助确定缩小图像的方法。交互式 UI 允许您浏览完整的文件系统树,同时指示每个层中添加、修改或删除的内容。入门非常简单 - 只需运行:

dive 
 

您将获得一个漂亮的交互式 UI 来浏览您的图像,如上面的 gif 所示。

您还可以创建别名并在 Docker 容器本身中运行它,这样您就可以使用它,而无需将其安装在您的计算机上。

alias dive="docker run -ti --rm  -v /var/run/docker.sock:/var/run/docker.sock wagoodman/dive"
dive 
 

很酷,是吧?帮助您理解图像并节省磁盘空间,谁不喜欢呢?

4. Orbstack

球堆

Orbstack 是我已经使用了一段时间的 Docker 桌面替代方案。在我看来,主要卖点是它是 macOS 的原生应用程序,不依赖 Docker Machine 来创建 VM,这意味着它的速度要快得多,资源密集度也更低。它仍然很新,所以有一些粗糙的边缘,但我认为它值得一试。我认为它目前仅在 macOS 上受支持,所以这对你们中的一些人来说可能是个问题

5. Watchtower

瞭望 塔

我已经写过几次关于 Watchtower 的文章,它仍然是我最喜欢的工具之一。这是一个简单的工具,可以监视您的 Docker 镜像并自动更新它们到最新版本。它非常容易设置并且工作正常。这对你的家庭实验室非常有用,对生产来说不是那么有用。

您可以使用以下命令试用:

docker run -d \
  --name watchtower \
  -e REPO_USER=username \
  -e REPO_PASS=password \
  -v /var/run/docker.sock:/var/run/docker.sock \
  containrrr/watchtower container_to_watch --debug

试试看,你不会后悔的!