管理Docker容器的智能指南
出版者:必威平台,6月01,2021Docker技术是一个开源容器化平台,允许您快速开发,测试和部署应用程序作为可在任何地方运行的便携式容器。Docker容器配备所有图书馆,以提供软件部署和测试所需的自给式环境。开发人员环境可以非常混乱,导致系统中的旧或未使用或过时的组件。使用以下指南,我们将向您展示如何通过删除图像,容器和卷来组织Docker环境。
要求
—Ubuntu 18服务器运行Docker
-终端/命令提示符
—Root用户或Sudo权限用户
移除所有未使用的Docker资源
在开发环境中创建了许多文件,包括未使用的数据,包括未使用的数据。这可能导致磁盘空间杂乱。Docker本身不会删除任何未使用的数据,因此删除时间和未使用和不需要的数据是一个很好的做法。
删除与容器没有关联的所有图像、容器和网络。
#docker系统prune
此命令将删除所有内容,包括悬垂图像和停止容器。
警告!这将删除:
-所有已停止的集装箱
- 至少一个容器不使用的所有网络
-所有悬空图像
- 所有悬挂构建缓存
您确定要继续吗?[y / N]
按Y并进入后,它应该为您提供已删除的容器列表。
请注意,上面的命令只会删除悬挂的Docker图像。如果您想包含所有未使用的图像,请执行以下命令:
# docker系统删除-a
输出
-所有已停止的集装箱
- 至少一个容器不使用的所有网络
- 没有至少一个与它们相关的容器的所有图像
- 所有构建缓存
您确定要继续吗?[y / N]
前面两个命令将不会触及未使用的卷。如果你也想删除它,使用下面的命令:
# docker系统删除——卷
重要提示:Prune命令是不可逆转的,必须谨慎使用。
删除码头工人的图片
要查看你所有的Docker图像,你可以使用:
# docker images -a
这将以以下格式为您提供所有Docker图像的列表及其详细信息。
输出
使用从上面的输出中使用图像ID,您可以将值传递给以下命令以删除Docker映像。
# docker image rm IMAGE_ID
为了删除悬空图像,我们将使用“docker remove all images”命令,如下所示:
# docker形象删除
然而,要删除存在于容器中的Docker图像,我们可以使用以下方法:
#docker image prune-a
如果你想删除所有的图像,例如,可能在特定的时间范围内,使用以下命令:
# docker image prune -a——filter "until=24h"
注意:要在任何给定时间强制执行任何"remove"命令,请使用-f或-force标志。
删除集装箱码头工人
类似地,要查看所有Docker容器的列表,你需要运行以下命令:
# docker容器ls -a
如果要删除特定的容器,请输入此示例中显示的容器ID:
# docker容器rm CONTAINER_ID
要删除在应用程序中停止的所有容器,请按照此命令进行操作:
# docker容器修剪
请注意,这将删除所有停止的容器。要使用Beforeationed命令查看将删除容器的列表,请使用-filter标志:
# docker容器ls -a——filter status=created——filter status=exited
例如,可以使用以下命令限制停止的容器的移除:
# docker container prune -filter "until=24h"
如果您想在处理完一个容器后删除它,您可以通过添加-rm标志来开始一个容器。下面是一个如何移除这样一个容器的例子:
#运行——rm CONTAINER_ID
完成后,将自动删除容器。
删除Docker卷
卷用于多个容器,可能会有许多未使用或已停止的卷文件。
这些文件不会自动删除,码头中也没有设置,以便这样做,这可能会导致数据造成显着损失或损坏。
首先,使用以下命令获取所有Docker卷id:
#docker卷ls
如果你想删除一个特定的卷,使用下面的命令加卷名:
# docker volume rm VOLUME_NAME . txt
使用以下命令可以删除所有未使用的卷。
#docker卷preune
如果Docker卷有附带的标签,您也可以使用以下方式:
# docker volume prune -filter "label!=保持”
在这个例子中,该命令将只删除那些没有标记和分配了“保留”标签的卷文件。
删除码头工人网络
虽然Docker网络不占用太多磁盘空间,但如果不清除磁盘上不必要的文件,它们可能会导致问题。一个问题是,它为iptables和带有路由表项的桥接网络创建规则,从长远来看,这可能会导致一些问题。
要获取完整的网络id列表,请使用以下命令:
# docker网络ls
要删除特定的网络,可以使用以下方法:
#Docker Network RM NetWork_ID
如果要删除所有不清楚的网络,请使用以下命令:
# docker网络修剪
对于基于时间范围(本例中为24小时)的筛选器,您可以改为输入:
#Docker网络Preune -Filter“直到= 24H”
注意:如果在尝试删除特定网络时出现错误,这意味着现有容器使用了该特定网络,必须先删除该容器,然后才能继续。
结论
如今,Docker正在获得相当大的发展势头,并被世界上许多著名的公司使用。它是迄今为止最好的平台之一,可以提供更方便的开发解决方案,并允许进行无限的测试和试验,以快速有效地创建应用程序。
在本教程中,您学习了如何清除未使用的Docker映像、容器、卷和网络。如果你有任何问题,请在下方留言。