搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
Cpp五条
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
1024. 科学计数法 (20) python篇_python 科学计数法几位小数
2
解密 MobaXterm 已经存储 Session 账号的密码_mobaxterm密码
3
SpringBoot启动报错:HikariPool-1 - Exception during pool initialization.解决办法_springboot exception during pool initialization
4
windows使用vim编辑文本powershell_powershell 文本编辑
5
Unix网络编程(二)传输层UDP,TCP协议_65495和1460
6
TCP / IP的连接以及状态码和标志位_tcp ip:ssh (established)
7
怎么用WhatsApp做外贸?WhatsApp Business Platform有哪些优势?
8
扫雷-源码_/!d6f0316kz4!:/
9
datax数据迁移mysql到mongo_datax mongodb
10
Java并发——AQS、AQS到底什么是AQS?这玩意干啥的?_java中aqs是什么意思
当前位置:
article
> 正文
5个实用的docker工具
作者:Cpp五条 | 2024-02-28 17:17:52
赞
踩
5个实用的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文档(
https://github.com/v2tec/watchtower/blob/master/README.md
)。
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文档(h
ttps://github.com/spotify/docker-gc/blob/master/README.md
)以了解更多信息。
3. docker-slim:容器的魔法丸
如果担心Docker镜像的大小,
docker-slim
将会解决您的担忧。
docker-slim实用程序使用静态和动态分析来将大的镜像转变为缩略的镜像。要使用docker-slim,您必须从Github下载其二进制文件。二进制文件可用于Linux和Mac。下载二进制文件后,将其添加到PATH中。
我创建了一个Docker图像,例如:使用在Docker官方文档(
https://docs.docker.com/get-started/
)中的应用程序friendlyhello。正如你下面所看到的镜像的大小是194MB。
您可以看到一个简单的应用程序,我们必须下载194 MB的数据。让我们用docker-slim来看看它可以去除多少多余的东西。
docker-slim实用程序将执行一系列步骤 -检查、分析较大的镜像,最终创建一个缩略版本的镜像。我们来看下这个缩略版的大小。
正如你上面看到的,这个镜像的大小被所缩减到24.9MB。您可以启动容器,并以相同的方式运行。docker-slim实用程序适用于Java,Python,Ruby和Node.js应用程序。
尝试一下,看看你有没有收获。在我的个人项目中,我发现它在大多数情况下都有效。
您可以从其文档(
https://github.com/docker-slim/docker-slim/blob/master/README.md
)中了解更多关于docker-slim的信息。
4. rocker:打破Dockerfile的限制
大多数使用Docker的开发人员使用
Dockerfile
构建镜像。Dockerfile是一种声明式的方式来定义用户可以在命令行中调用的所有命令,以便组装镜像。
Rocker向Dockerfile指令集添加了新的指令。 Rocker是由Grammarly创建的,用于解决Dockerfile格式所面临的问题。Grammarly团队写了一篇深入博客,解释了创建它的原因。我建议你阅读它,以更好地了解Rocker。
他们在帖子中强调的两个问题是:
Docker镜像的大小。
构建速度缓慢。
博客还提到了Rocker添加的一些新指令。请参阅Rocker文档(
https://github.com/grammarly/rocker/blob/master/README.md
),了解Rocker支持的所有说明。
MOUNT用于在构建之间共享卷,以便它们可以重用依赖关系管理工具。
在Dockerfile中也存在FROM指令。Rocker可以添加多个FROM指令。这意味着您可以从单个Rockerfile创建多个镜像,第一组指令将使用所有依赖关系构建工件。第二组指令可以使用构建工件,这大大降低了镜像的大小。
TAG用于构建不同阶段标记镜像,这意味着您不必手动标记镜像。
PUSH用于将镜像推送到注册表。
ATTACH允许您以交互方式运行中间步骤,这对调试非常有用。
要使用Rocker,您必须将它安装在你的机器上。对于Mac用户来说,就像运行几个brew命令一样简单:
一旦安装,您可以使用Rocker通过将其传递给Rockerfile来构建镜像:
要构建映像并将其推送到Docker Hub,可以运行以下命令:
Rocker有一套很好的功能。 要了解更多信息,请参阅其文档(https://github.com/grammarly/rocker/blob/master/README.md)。
5. ctop:容器顶部接口
最近我开始使用的实用程序是
ctop
,它提供了多个容器的实时度量视图。如果你是一个mac用户,那么你可以使用brew安装ctop,如下所示。
一旦安装,您可以开始使用ctop。它只需要配置DOCKER_HOST环境变量。要查看所有容器的状态,可以运行ctop命令。
要仅查看正在运行的容器,可以使用ctop -a命令。
ctop是一个简单的实用程序,非常有用,可以了解在主机上运行的容器。您可以在ctop文档(
https://github.com/bcicen/ctop/blob/master/README.md
)中阅读更多信息。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/Cpp五条/article/detail/160456
推荐阅读
article
Docker
无法启动,报错:
Docker
Desktop - Unexpected
WSL
erro...
在确保了程序设置里,勾选了“Windows虚拟机监控程序平台”,以及“适用于Linux 的windows子系统“之后,还...
赞
踩
article
从现在开始学
Kafka
:
Docker
部署
Kafka
单机版_
docker
启动
单机的
kafka
...
从现在开始学
Kafka
:
Docker
搭建
Kafka
单机版前言官方文档关于镜像安装
docker
-componse...
赞
踩
article
Docker
安装
Kafka_
docker
bitnami
/
kafka
...
docker
在3.0以前依赖于zookeeper,在
安装
kafka
之前需要先
安装
zookeeper集群。关于 zooke...
赞
踩
article
Docker
第十九章
:
阿里
云个人
镜像
仓使用...
遇到此场景的办法就是通过本地
镜像
tag,推送到私有
镜像
库,然后在例如在生产环境通过私有
镜像
库读取
镜像
,保证
镜像
的一致。如...
赞
踩
article
【
Docker
】报错:Got
permission
denied
while
trying
to
c...
Got
permission
denied
while
trying
to
connect
to
the
Docker
...
赞
踩
article
解决
Docker
启动失败问题,
Docker
Desk
to
p
is
un
a
ble
to
detect
...
解决
Docker
启动失败问题_docker desk
to
p
is
un
a
ble
to
detect
a
hypervi...
赞
踩
article
快速上手!使用
Docker
和
Nginx
部署
Web
服务的完美指南_
nginx
docker
web
...
本文将为您提供一个完整的指南,教您如何使用
Docker
和
Nginx
来部署和管理
Web
服务,包括域名和SSL证书的配置。作...
赞
踩
article
windows
安装
Docker
步骤以及在每一个步骤遇到
问题
合集
_
windows
docker
...
windows
安装
Docker
简述Hyper-V
问题
一、开启Hyper-V二、下载
Docker
三、
安装
Docker
四、...
赞
踩
article
【
Docker
】
nacos
集群
搭建
Nginx
负载均衡_
docker
nacos
nginx
...
nacos
搭建
集群
连接mysql实现
nginx
负载均衡实现讲解。_
docker
nacos
nginx
docker
na...
赞
踩
article
最详细
的
ubuntu
安装
docker
教程_
ubuntu
docker
...
Docker是一种流行
的
容器化平台,它能够简化应用程序
的
部署和管理。本文将介绍在Ubuntu操作系统上
安装
Docker
的
...
赞
踩
article
【软路由】
esxi
+
ubuntu
+
docker
搭建
HomeAssistant
_
esxi
6...
一、
安装
ESXI 6.71.
安装
过程一路下一步就可以2.设置IPF2进入设置:选择 “Configure Managem...
赞
踩
article
N5105
docker
jellyfin
核显
配置_
docker
添加
核显
...
之前使用
N5105
的
jellyfin
,在解码时一直出现错误导致播放问题,经过多次尝试都没有成功。近期发现是设备给的信息除...
赞
踩
article
linux
docker
软
路由
,
OpenWrt
软
路由
使用
docker
安装
jellyfin
影音中心...
OpenWrt
软
路由
使用
docker
安装
jellyfin
影音中心2021-01-21 22:37:5221点赞140收藏...
赞
踩
article
Docker
调用
Intel
集显实现
FFmpeg
硬解码_
windows
docker
intel
核显...
Docker
调用
Intel
集显实现
FFmpeg
硬解码_
windows
docker
intel
核显
windows
do...
赞
踩
article
群晖
折腾记
5
—
docker
安装
emby
开启
核显
_
emby
docker
...
群晖
docker
安装
emby
_
emby
docker
emby
docker
...
赞
踩
article
斐讯n1安装
centos
7
+
docker
openwrt
_n1
centos
...
斐讯n1安装
centos
7
+
docker
openwrt
首先声明,我的n1是降级过的,系统默认usb启动优先级大于emm...
赞
踩
article
【云原生】
Docker
安全
与
CA
证书
生成
...
注:由于 20.10.9 版本的 docker 客户端用的 go 版本是 go1.16.8,而 go1.15 以后的版本...
赞
踩
article
【云原生 |
Docker
高级篇】11、
Docker
私有
镜像
仓库
Harbor
安装及使用教程_...
Linux 安装
Harbor
私有
镜像
仓库
详细图文教程!!!_
docker
登录
harbor
docker
登录
harbor
...
赞
踩
article
《
Docker
简易速速
上
手小册》第
6
章
Docker
网络
与
安全
(2024
最新版
)...
在这个案例中,我们将演示如何在不同主机
上
部署 Flask 应用和 Redis 服务,并通过
Docker
的覆盖
网络
实现...
赞
踩
article
【
Docker
】
Docker
的
优势
、
与
虚拟机
技术
的
区别
、
三个重要概念
和
架构
及工作原理详细讲解_
容器
和
...
#
Docker
架构
Docker
使用客户端-服务器 (C/S)
架构
模式,使用远程API来管理
和
创建
Docker
容器
...
赞
踩
相关标签
docker
容器
运维
kafka
java
linux
网络
阿里云
unix
nginx
web
windows
microsoft