分享好友 最新资讯首页 最新资讯分类 切换频道
运维人必知的5个Docker实用工具!
2024-12-27 14:13


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

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


        你在网上能找到很多酷炫的Docker工具。绝大多数是开源的。 

        过去两年,我已经积极地将Docker用到我的对大多数开发项目中。在你开始使用Docker的时候,你会发现,它比你预想的更加适用在很多用例里。 

        你会希望Docker为你做的更多,而且它不会让你失望


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


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



        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文档。



        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文档以了解更多信息。



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


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


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




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


        尝试一下,看看你有没有收获。在我的个人项目中,我发现它在大多数情况下都有效。 

        您可以从其文档中了解更多关于docker-slim的信息。



        大多数使用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有一套很好的功能。 要了解更多信息,请参阅其文档





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


        ctop是一个简单的实用程序,非常有用,可以了解在主机上运行的容器。您可以在ctop文档中阅读更多信息。

原文:5 Docker Utilities You Should Know

作者:Shekhar Gulati

翻译:Vincent

6月免费讲堂


免费开讲时间

6月25日 - 6月28日 (为期4天免费听

分享内容

什么是Linux、云计算、虚拟化,KVM虚拟化实战,Linux操作系统由来,企业级Linux服务器安装方案,破解Linux系统密码,Linux命令行格式,Linux下目录和文件管理,FTP服务器演示,Web服务器演示。Linux云计算行业发展前景等技术分享。

分享地点

全国达内Linux云计算各教学中心任意选择。

免费报名方式

1、点击文末“阅读原文

2、长按下方二维码。

云计算4天免费课程本月25日火热开讲,运维干货内容免费听点击文末“阅读原文”即可免费听运维课火速抢先~~~~

PS:记得查收小编送你的免费大礼包呦~

福利 | 一万多套PPT模板等你免费来拿!无条件领取

免费送 | 1000多套简历模板免费拿,附赠简历制作教程

免费领 | 《Shell脚本 100例》电子书免费拿,运维必备干货~

最新文章
springcloud启动时打印nacos配置文件内容
SpringCloud高级篇 -- Nacos@[toc] 一、SpringCloud Alibaba入门简介1.1 为什么会出现?1.2 带来了什么?1.2.1 主要功能1.2.2 组
谷歌搜索广告再营销名单RLSA广告详细教学
根据Google的定义,搜索广告再营销名单(RLSA)是一项功能,让你可以针对网站的旧访客自订搜索广告(不同的广告文案/着陆页),并
百度贴吧信任危机背后:3亿活跃用户极具营销价值
关于百度贴吧的灰色产业链再度曝光于公众面前。1月12日,《每日经济新闻》记者从百度方面确认,病种类贴吧已全面停止商业合作,
Windows Installer Clean Up
Windows installer clean up官方版是一款Windows Installer清理工具。用户使用Windows installer clean up软件,可以清理掉应用
高清美女写真一键生成!揭秘最新AI生图神器
NightCafe Studio:这个工具结合了多种艺术风格,用户可自由选择想要的风格来生成美女写真。NightCafe的界面友好,操作简单,非
新乡塑料外壳式断路器CM1-400-225-3P工作原理+2025排名一览
新乡塑料外壳式断路器CM1-400-225-3P工作原理+2025排名一览1. 产品概述 - WSK - S-(TH)智能温湿度控制器是一种能够对环境温湿度
华为Pura70大幅降价:亲民价格下的强劲实用,Mate70的替代品?
在智能手机市场,华为凭借其持续创新而备受瞩目。近期,华为对其最新机型Pura70进行了一轮大幅降价,512GB版价格直降1331元,现
服务器网站木马清理,网站挂马清理 网站网址快照跳转 搜索引擎快照修复 网站被黑挂马 百度360搜狗挂
本公司提供网站安全维护服务,可以查杀清除网站挂马,即便隐蔽性再高,也无法逃避我们工程师的法眼!以下服务价格根据您实际需求
『上实听海』2024官方网站-临港上实听海官方祥情-上海房天下
上海临港上实·听海临港103顶尖科学家社区上实城开临港投控联袂巨献上海真正的海景房上实·听海营销中心电话:400-806-1558上海
电商项目管理优化新视角:看板的实战智慧与策略
在电商行业,项目管理是企业运营的核心环节之一,它直接关系到企业的运营效率、市场竞争力和长期发展。随着市场需求的快速变化和