阅读更多

0顶
1踩

开源软件

原创新闻 5个你必须知道的Docker实用工具

2017-05-31 14:41 by 副主编 jihong10102006 评论(0) 有19872人浏览
引用
原文:5 Docker Utilities You Should Know
作者:Shekhar Gulati
翻译:Vincent

Docker社区已经创建了许多开源的工具,更多的用例使得它比您想像的更有用。你可以在这里查阅它们。

你在网上能找到很多酷炫的Docker工具。绝大多数是开源的。
过去两年,我已经积极地将Docker用到我的对大多数开发项目中。在你开始使用
Docker的时候,你会发现,它比你预想的更加适用在很多用例里。
你会希望Docker为你做的更多,而且它不会让你失望!

Docker社区非常活跃,每天都有很多有用的工具。在这个社区你很难知道哪些发生了革新。为了帮助你,我已经收集了我日常工作中用到的很有趣很实用的Docker工具。这些让我工作更加高效,消除了很多的手动工作。

让我们来看看我在使用Dockerize工具的过程中发现的每个工具。

1. watchtower:自动更新Docker容器

Watchtower监视运行中的容器,以便于对容器最初的镜像进行更改。当Watchtower检测到镜像发生改变时,会自动使用新的镜像重启容器。
我在本地开发中想要创建新的镜像就会使用它。

Watchtower本身会打包成Docker映像,所以您可以运行它,就像运行任何其他容器一样。当你要运行Watchtower,您将会用到下面的指令:

在上面的命令中,我们启动了一个带有挂载文件/var/run/docker.sock . 的Watchtower容器。这个步骤是必须的,通过设置30秒的时间间隔选项,为了能够让Watchtower可以和Docker守护进程API进行交互。这个时间定义了Watchtower
的轮询时间。Watchtower里面有很多的这样的选项设置,你可以按照文档所述使用它们。

现在我们就开始让Watchtower去监视一个容器:

Watchtower将要开始监视friendlyhello这个容器。当我将新的镜像推送到Docker Hub时,Watchtower将在下一次运行时检测到有新的镜像可用,它将停止容器,并使用新的镜像启动容器,它会传递给我们运行命令行时的选项设置。换句话说,容器将以4000:80端口启动。

默认情况下,Watchtower将轮询Docker Hub注册表以查找更新的镜像。您可以通过将注册表凭据传递给环境变量REPO_USER和REPO_PASS来配置Watchtower,让它去轮询私有注册表。要了解更多关于Watchtower的信息,我建议您去查看Watchtower文档

2、docker-gc:容器和镜像的垃圾回收

docker-gc实用程序会帮助你清理Docker主机,去除那些没用的容器和镜像文件。它会删除一个多小时前存在的所有容器。此外,它还会删除不属于任何剩余容器的
镜像。

您可以将docker-gc用作脚本和容器。我们将运行docker-gc作为容器,用它来找到所有将要被删除的容器和镜像。

在上面显示的命令中,我们安装了Docker套接字文件,以便docker-gc可以与Docker API进行交互。我们设置一个环境变量DRY_RUN = 1,以查找哪些容器和镜像将被删除。如果我们没有设置这个选项,docker-gc会将他们全部删除。这首先就验证了docker-gc清理的很好。上述命令的输出如下:

如果您还想使用docker-gc清理,则可以再次运行没有DRY_RUN标志的docker-gc来执行清理。

上述命令的输出将告诉您docker-gc删除的所有镜像和容器。

docker-gc支持的选项还有其他几个。我建议您阅读docker-gc文档以了解更多信息。

3、docker-slim:容器的魔法丸

如果担心Docker镜像的大小,docker-slim将会解决您的担忧。

docker-slim实用程序使用静态和动态分析来将大的镜像转变为缩略的镜像。要使用docker-slim,您必须从Github下载其二进制文件。二进制文件可用于Linux和Mac。下载二进制文件后,将其添加到PATH中。

我创建了一个Docker图像,例如:使用在Docker官方文档中的应用程序friendlyhello。正如你下面所看到的镜像的大小是194MB。

您可以看到一个简单的应用程序,我们必须下载194 MB的数据。让我们用docker-slim来看看它可以去除多少多余的东西。

docker-slim实用程序将执行一系列步骤 -检查、分析较大的镜像,最终创建一个缩略版本的镜像。我们来看下这个缩略版的大小。

正如你上面看到的,这个镜像的大小被所缩减到24.9MB。您可以启动容器,并以相同的方式运行。docker-slim实用程序适用于Java,Python,Ruby和Node.js应用程序。

尝试一下,看看你有没有收获。在我的个人项目中,我发现它在大多数情况下都有效。
您可以从其文档中了解更多关于docker-slim的信息。

4、rocker:打破Dockerfile的限制

大多数使用Docker的开发人员使用Dockerfile构建镜像。Dockerfile是一种声明式的方式来定义用户可以在命令行中调用的所有命令,以便组装镜像。

Rocker向Dockerfile指令集添加了新的指令。 Rocker是由Grammarly创建的,用于解决Dockerfile格式所面临的问题。Grammarly团队写了一篇深入博客,解释了创建它的原因。我建议你阅读它,以更好地了解Rocker。

他们在帖子中强调的两个问题是:

1、Docker镜像的大小。

2、构建速度缓慢。

博客还提到了Rocker添加的一些新指令。请参阅Rocker文档,了解Rocker支持的所有说明。

1、MOUNT用于在构建之间共享卷,以便它们可以重用依赖关系管理工具。

2、在Dockerfile中也存在FROM指令。Rocker可以添加多个FROM指令。这意味着您可以从单个Rockerfile创建多个镜像,第一组指令将使用所有依赖关系构建工件。
第二组指令可以使用构建工件,这大大降低了镜像的大小。

3、TAG用于构建不同阶段标记镜像,这意味着您不必手动标记镜像。

4、PUSH用于将镜像推送到注册表。

5、ATTACH允许您以交互方式运行中间步骤,这对调试非常有用。

要使用Rocker,您必须将它安装在你的机器上。对于Mac用户来说,就像运行几个brew命令一样简单:

一旦安装,您可以使用Rocker通过将其传递给Rockerfile来构建镜像:

要构建映像并将其推送到Docker Hub,可以运行以下命令:

Rocker有一套很好的功能。 要了解更多信息,请参阅其文档

5、ctop:容器顶部接口

最近我开始使用的实用程序是ctop,它提供了多个容器的实时度量视图。如果你是一个mac用户,那么你可以使用brew安装ctop,如下所示。

一旦安装,您可以开始使用ctop。它只需要配置DOCKER_HOST环境变量。要查看所有容器的状态,可以运行ctop命令。

要仅查看正在运行的容器,可以使用ctop -a命令。

ctop是一个简单的实用程序,非常有用,可以了解在主机上运行的容器。您可以在ctop文档中阅读更多信息。
  • 大小: 36 KB
  • 大小: 26.5 KB
  • 大小: 30.1 KB
  • 大小: 287.4 KB
  • 大小: 27.6 KB
  • 大小: 20.6 KB
  • 大小: 15.6 KB
  • 大小: 34.8 KB
  • 大小: 22 KB
  • 大小: 80 KB
  • 大小: 12.6 KB
  • 大小: 7.4 KB
  • 大小: 37.4 KB
0
1
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 五个你应该知道的Docker实用工具

    本文讲的是五个你应该知道的Docker实用工具【编者的话】文章介绍了作者工作中收集到的一些有趣而实用的Docker工具。【3 天烧脑式 Docker 训练营 | 上海站】随着Docker技术被越来越多的人所认可,其应用的范围也...

  • 50+ 个有用的 Docker 工具

    Docker工具分类列表。

  • docker实用工具之一 资源查看工具ctop

    安装方法:(如需最新版请自行到github找到对应路径修改,截止2022.9.7为v0.7.7)先看工具效果,同类型工具很多,直观的界面是我首先使用ctop原因,实时动态显示容器运行资源消耗。最常用命令:ctop -a (仅显示活动...

  • Docker实用工具

    【代码】Docker实用工具。

  • 五个实用的docker小工具

    五个实用的docker小工具

  • docker部署实用的小工具

    一、部署磁力搜索工具 在这里插入代码片 二、部署磁力下载工具 docker run -itd --name=cloud-torrent -p 80:3000 -v /data/downloads:/downloads registry.baidubce.com/tools/cloud-torrent:latest

  • docker实用工具

    网盘工具 docker pull nextcloud 运行 docker run -d --name=nextcloud -p 4399:80 --restart=always nextcloud code-server工具(网页版vscode) mkdir -p ~/.config docker run -it --name code-server -p 2345:...

  • 运维人必知的5个Docker实用工具!

    Docker社区已经创建了许多开源的工具,更多的用例使得它比您想像的更有用。你可以在这里查阅它们。 你在网上能找到很多酷炫的Docker工具...

  • 4 个超实用的 Docker 镜像构建技巧

    公众号关注「奇妙的 Linux 世界」设为「星标」,每天带你玩转 Linux !...最近做了一个好玩的工具,叫xbin.io[1...其中有一项工作是为不同的工具来构建 Docker 镜像,让他们都运行在 Docker 中(实际上,是兼容 Docker ...

  • Docker实用

    在数百上千台服务中重复部署,环境不一定一致,会遇到各种问题**数据卷(volume)**是一个虚拟目录,指向宿主机文件系统中的某个目录。一旦完成数据卷挂载,对容器的一切操作都会作用在数据卷对应的宿主机目录了。...

  • 你应该知道的5个开源Docker工具...

    作者在本文中推荐了 5 款认为最有用的 Docker 工具,分别是 Watchtower(自动更新 Docker 容器)、docker-gc(容器和镜像的垃圾回收)、docker-slim(容器瘦身)、 rocker:突破 Dockerfile 的限制,以及 cto...

  • Docker实用篇

    *数据卷(volume)**是一个虚拟目录,指向宿主机文件系统中的某个目录。一旦完成数据卷挂载,对容器的一切操作都会作用在数据卷对应的宿主机目录了。这样,我们操作宿主机的/var/lib/docker/volumes/html目录,就...

  • 这 4 个超实用的 Docker 镜像构建技巧!你不会不知道吧?

    最近做了一个好玩的工具,叫 xbin.io。其中有一项工作是为不同的工具来构建 Docker 镜像,让他们都运行在 Docker 中(实际上,是兼容 Docker image 的其他 sandbox 系统,没有直接用 Docker)。支持的工具越来越多,...

  • 简单实用的docker监控工具-sysdig

    sysdig 一个工具就能实现所有工具的功能,并且提供了统一的使用语法。 强大 监控信息全,包括Linux操作系统和容器。能获取实时的系统数据,也能把信息保存到文件中以供后面分析。捕获的数据包含系统的个个方面: ...

  • 级联H桥SVG无功补偿系统在不平衡电网中的三层控制策略:电压电流双闭环PI控制、相间与相内电压均衡管理,级联H桥SVG无功补偿系统在不平衡电网中的三层控制策略:电压电流双闭环PI控制、相间与相内电压均

    级联H桥SVG无功补偿系统在不平衡电网中的三层控制策略:电压电流双闭环PI控制、相间与相内电压均衡管理,级联H桥SVG无功补偿系统在不平衡电网中的三层控制策略:电压电流双闭环PI控制、相间与相内电压均衡管理,不平衡电网下的svg无功补偿,级联H桥svg无功补偿statcom,采用三层控制策略。 (1)第一层采用电压电流双闭环pi控制,电压电流正负序分离,电压外环通过产生基波正序有功电流三相所有H桥模块直流侧平均电压恒定,电流内环采用前馈解耦控制; (2)第二层相间电压均衡控制,注入零序电压,控制通过注入零序电压维持相间电压平衡; (3)第三层相内电压均衡控制,使其所有子模块吸收的有功功率与其损耗补,从而保证所有H桥子模块直流侧电压值等于给定值。 有参考资料。 639,核心关键词: 1. 不平衡电网下的SVG无功补偿 2. 级联H桥SVG无功补偿STATCOM 3. 三层控制策略 4. 电压电流双闭环PI控制 5. 电压电流正负序分离 6. 直流侧平均电压恒定 7. 前馈解耦控制 8. 相间电压均衡控制 9. 零序电压注入 10. 相内电压均衡控制 以上十个关键词用分号分隔的格式为:不

  • GTX 1080 PCB图纸

    GTX 1080 PCB图纸,内含图纸查看软件

  • 深度优化与应用:提升DeepSeek润色指令的有效性和灵活性指南

    内容概要:本文档详细介绍了利用 DeepSeek 进行文本润色和问答交互时提高效果的方法和技巧,涵盖了从明确需求、提供适当上下文到尝试开放式问题以及多轮对话的十个要点。每一部分内容都提供了具体的示范案例,如指定回答格式、分步骤提问等具体实例,旨在指导用户更好地理解和运用 DeepSeek 提升工作效率和交流质量。同时文中还强调了根据不同应用场景调整提示词语气和风格的重要性和方法。 适用人群:适用于希望通过优化提问技巧以获得高质量反馈的企业员工、科研人员以及一般公众。 使用场景及目标:本文针对所有期望提高 DeepSeek 使用效率的人群,帮助他们在日常工作中快速获取精准的答案或信息,特别是在撰写报告、研究材料准备和技术咨询等方面。此外还鼓励用户通过不断尝试不同形式的问题表述来进行有效沟通。 其他说明:该文档不仅关注实际操作指引,同样重视用户思维模式转变——由简单索取答案向引导 AI 辅助创造性解决问题的方向发展。

  • 基于FPGA与W5500实现的TCP网络通信测试平台开发-Zynq扩展口Verilog编程实践,基于FPGA与W5500芯片的TCP网络通信测试及多路Socket实现基于zynq开发平台和Vivad

    基于FPGA与W5500实现的TCP网络通信测试平台开发——Zynq扩展口Verilog编程实践,基于FPGA与W5500芯片的TCP网络通信测试及多路Socket实现基于zynq开发平台和Vivado 2019软件的扩展开发,基于FPGA和W5500的TCP网络通信 测试平台 zynq扩展口开发 软件平台 vivado2019.2,纯Verilog可移植 测试环境 压力测试 cmd命令下ping电脑ip,同时采用上位机进行10ms发包回环测试,不丢包(内部数据回环,需要时间处理) 目前实现单socket功能,多路可支持 ,基于FPGA; W5500; TCP网络通信; Zynq扩展口开发; 纯Verilog可移植; 测试平台; 压力测试; 10ms发包回环测试; 单socket功能; 多路支持。,基于FPGA与W5500的Zynq扩展口TCP通信测试:可移植Verilog实现的高效网络通信

  • Labview液压比例阀伺服阀试验台多功能程序:PLC通讯、液压动画模拟、手动控制与调试、传感器标定、报警及记录、自动实验、数据处理与查询存储,报表生成与打印一体化解决方案 ,Labview液压比例阀

    Labview液压比例阀伺服阀试验台多功能程序:PLC通讯、液压动画模拟、手动控制与调试、传感器标定、报警及记录、自动实验、数据处理与查询存储,报表生成与打印一体化解决方案。,Labview液压比例阀伺服阀试验台多功能程序:PLC通讯、液压动画模拟、手动控制与调试、传感器标定、报警管理及实验自动化,labview液压比例阀伺服阀试验台程序:功能包括,同PLC通讯程序,液压动画,手动控制及调试,传感器标定,报警设置及报警记录,自动实验,数据处理曲线处理,数据库存储及查询,报表自动生成及打印,扫码枪扫码及信号录入等~ ,核心关键词:PLC通讯; 液压动画; 手动控制及调试; 传感器标定; 报警设置及记录; 自动实验; 数据处理及曲线处理; 数据库存储及查询; 报表生成及打印; 扫码枪扫码。,Labview驱动的智能液压阀测试系统:多功能控制与数据处理

Global site tag (gtag.js) - Google Analytics