从命令行管理Docker容器的重要技巧

的确,近来docker的使用量猛增,并且在未来几年中还将继续增加。现在,大多数组织都将其项目转移到docker容器(如果尚未安装)。因此,仅获得有关创建和维护Docker容器和映像的基础知识不足以跟上如此巨大的技术变革的步伐。

通过单个命令行界面(CLI)管理大量容器和图像似乎是一项繁琐的任务,但是凭借适当的一组管理技能和Docker CLI命令的实际操作经验,这成为了小菜一碟。

在本文中,让我们讨论一些工具,这些工具将帮助您非常轻松地在单个站点上管理所有docker容器和映像,并且肯定会节省您的时间。

列出图像和容器

由于许多图像和容器在一台计算机上运行,因此经常跟踪它们的最新标签,大小,ID和其他功能非常重要,这将有助于您轻松管理它们。

以下命令可以帮助您完全相同。

sudo docker images

上面的命令列出了所有图像以及它们的最新标记,尺寸,ID和创建日期。

创建映像后,如果要了解系统中当前存在的容器列表,可以使用以下命令。

sudo docker ps

上面的命令显示所有正在运行的容器ID的列表,它们对应的图像,创建日期,状态等。

如果要获取所有容器是否正在运行的列表,只需在上述命令中添加一个选项即可。

sudo docker ps -a

使用别名以节省时间

一些docker命令可能很难记住,因为它们可能很冗长。您可以创建自己的别名并将其定义到〜/ .bashrc文件中。

例子

alias dl=’docker ps -l -q’
alias drm=’docker rm’
alias dps=’docker ps’

删除容器和图像

要删除特定的容器,您可以使用rm选项。该命令的语法是

sudo docker rm YOUR_CONTAINER_ID

要找出您要删除的容器的容器ID,可以使用上面也讨论过的命令。

sudo docker ps -a

如果容器正在运行,则需要先停止容器,然后再尝试使用以下命令将其删除。

sudo docker stop YOUR_CONTAINER_ID

要删除docker映像,您首先需要删除该特定映像的所有容器。之后,您可以使用以下命令删除图像。

sudo docker rmi YOUR_IMAGE_ID

您可以使用以下也在上面讨论过的命令来获取特定图像的图像ID。

sudo docker images

在交互式Shell中运行容器

假设您已使用以下命令从docker hub提取了ubuntu映像。

sudo docker pull ubuntu

现在,您想在交互式外壳程序中运行ubuntu容器。您可以使用以下命令来实现。

sudo docker run -it ubuntu

现在,您可以使用单独的交互式命令外壳访问ubuntu映像。

尝试删除所有悬空的卷

当您尝试删除容器时,与容器关联的卷总是很可能也随之删除。这样的体积称为悬空体积。要查找所有悬挂卷的列表,请使用以下命令。

sudo docker volume ls -f dangling=true

发出上述命令后,您将找到所有悬空卷的列表及其驱动程序名称和卷名称(如果存在)。

为避免卷晃晃,请使用-v标志删除容器。

sudo docker rm -v YOUR_CONTAINER_ID

一些重要的命令

这是与图像和docker容器相关的一些最重要命令的精选列表,如果您处理大量此类对象,这些命令将非常有用。

容器指令

  • 要列出系统中当前正在运行的所有容器,请使用命令docker container ls

  • 要强制停止正在运行的容器,请使用docker container kill container_id

  • 要获取特定正在运行的容器的详细信息,请使用docker inspect container_id

影像指令

  • 要获取所有本地映像的列表,请使用docker image ls

  • 要删除所有悬空的图像,请使用docker image prune

总而言之,这些是最重要的提示列表,当您处理大量的图像和容器时,这些提示将非常方便,并且肯定会帮助您有效地管理它们并节省大量时间。