我们正在发布的Docker系列的今天部分专门针对Docker团队。 Docker
文档包含了许多命令的详细说明,但是刚开始使用此平台的人可能会迷失其中,因此这里有将近二十打的最重要的Docker命令。 秉承既定传统,我们将团队与散落的浆果进行比较。
→
第1部分:基础知识→
第2部分:术语和概念→
第3部分:Dockerfile文件→
第4部分:缩小图像尺寸并加快其组装速度→
第5部分:团队→
第6部分:处理数据复习
让我们回想一下,Docker映像是基于Dockerfile文件创建的,这些文件描述了构建映像所需的一切。 此外,我们不要忘记该容器是被生动调用的Docker映像。 为了有效地使用Docker命令,首先,您需要了解映像或容器-正在处理的内容。 如果考虑映像和容器,则可以看到Docker映像可以存在或不存在。 Docker容器也可以这样说。 此外,现有的Docker容器可以处于运行状态或非活动状态。
一旦弄清楚了您真正需要配合的东西,就可以找到合适的团队。
Docker命令概述
想要与Docker合作的人应该了解以下几点:
- 用于控制某些内容的Docker命令行界面命令以
docker
关键字开头,后跟一个空格,然后指示某个命令将定向到什么,然后是另一个空间,然后是命令本身。 例如,以下命令是这样构造的: docker container stop
。 - 如果命令定向到特定的图像或容器,则在其中使用该图像或容器的名称或标识符。
例如,
docker container run my_app
是用于创建和运行名为
my_app
的容器的命令。 在下面的示例中,我们将调用
my_container
,图像
my_image
,标签
my_tag
等。
首先,我们将考虑团队本身,然后考虑可以与之一起使用的标志(如果存在)。 如果标志前面有两个破折号,则这是其完整形状,带有一个破折号的标志是标志的删节版本。 它们的行为方式相同。 例如,
-p
是
--port
标志的缩写形式。
本文的目的是概述Docker命令。 因此,您对它们有一个大致的了解,并且知道了由于这些命令而可用的平台功能,可以在必要时找到有关它们的详细信息。 所讨论的团队使用Docker引擎18.09.1版和API版本1.39在Linux系列OS上进行了测试。
关于Docker CLI 1.13支持的命令的注释
Docker版本1.13命令行界面提供了更新的,按逻辑分组的命令。 同时,旧团队仍然可以使用,但是使用新团队更容易,尤其是对于初学者而言。 例如,在1.12版中使用了
docker create
形式的命令,而在1.13版中
docker create
了
docker container create
命令。 有关匹配新老团队的信息,请参见
此处 。
首先,我们查看用于管理容器的命令,然后讨论图像管理。
容器管理命令
用于管理容器的一般命令方案如下:
docker container my_command
这是在使用
my_command
地方可以替换的命令:
create
-从图像创建容器。start
启动现有容器。run
-创建一个容器并启动它。ls
正在运行的容器列表。inspect
-显示有关容器的详细信息。logs
-日志输出。SIGTERM
通过将SIGTERM
信号发送到主容器进程,以及一段时间后发送SIGKILL
来停止正在运行的容器。kill
停止运行中的容器并将SIGKILL
信号发送到主容器进程。rm
删除停止的容器。
图像管理命令
对于图像管理,使用如下命令:
docker image my_command
以下是该组中的一些团队:
build
-建立图像。push
将图像发送到远程注册表。ls
图片列表。history
-显示有关图像图层的信息。inspect
显示有关图像的详细信息,包括有关图层的信息。rm
删除图像。
不同的团队
docker version
Docker客户端和服务器的docker version
信息。docker login
-Docker注册表项docker system prune
删除未分配名称和标签的未使用的容器,网络和图像。
现在更详细地考虑这些命令。
货柜
the容器开始存在
在使用容器的初始阶段,将使用
create
,
start
和
run
命令。 它们分别用于创建容器,启动容器以及创建和启动容器。
这是从图像创建容器的命令:
docker container create my_repo/my_image:my_tag
在以下示例中,
my_repo/my_image:my_tag
将简化为
my_image
。
create
命令接受许多
标志 。 例如,可以用以下格式编写:
docker container create -a STDIN my_image
-a
标志是
--attach
标志的缩写。 该标志允许您将容器连接到
STDIN
,
STDOUT
或
STDERR
。
创建容器后,可以使用以下命令将其启动:
docker container start my_container
请注意,您可以使用其
ID
或名称在命令中引用该容器。
现在看一下允许您创建和运行容器的命令:
docker container run my_image
此命令还可以接受许多命令行
参数 。 考虑此类结构的示例:
docker container run -i -t -p 1000:8000 --rm my_image
-i
标志是
--interactive
缩写。 由于此标志,即使容器未连接到
STDIN
,
STDIN
流也保持打开状态。
-t
标志是
--tty
。 由于此标志,突出显示了伪终端,该伪终端将使用的终端连接到容器
STDIN
和
STDOUT
流。
为了能够通过终端与容器进行交互,您需要一起使用
-i
和
-t
标志。
-p
标志是
--port
缩写。 端口是容器与外界交互的接口。 设计
1000:8000
将Docker
8000
端口重定向到运行该容器
1000
计算机的端口
1000
。 如果某个应用程序正在容器中运行,并且可以将某些内容输出到浏览器,则在本例中,要访问它,您可以转到浏览器,位于
localhost:1000
。
--rm
标志在完成后会自动删除该容器。
让我们看一下
run
命令的更多示例:
docker container run -it my_image my_command
在这种设计中,可以使用
sh
命令,这将在可以通过终端与之交互的容器中创建终端会话。 当使用基于Alpine的映像时,最好专注于使用
sh
而不是
bash
,因为在这些映像中,默认情况下未安装
bash
。 要退出交互式会话,请使用
exit
。
请注意,这里我们在
-it
组合了
-i
和
-t
标志。
这是使用
run
命令的另一个示例:
docker container run -d my_image
-d
标志是
--detach
缩写。 此命令在后台启动容器。 这使您可以在容器运行时使用启动容器的终端来执行其他命令。
container确认集装箱状态
如果您正在运行Docker容器并想知道这些容器是什么,则需要列出它们。 您可以使用以下命令执行此操作:
docker container ls
此命令显示正在运行的容器的列表,并为该列表提供一些有关它们的有用信息。 这是此命令的另一个示例:
docker container ls -a -s
此命令的
-a
开关是
--all
缩写。 使用此键,您可以显示有关所有容器的信息,而不仅仅是运行容器的信息。
-s
是
--size
的简写。 它允许您显示容器的尺寸。
这是一个显示有关容器的详细信息的命令:
docker container inspect my_container
这是显示容器日志的命令:
docker container logs my_container
▍容器关闭
有时需要停止工作容器。 为此,请使用以下命令:
docker container stop my_container
它使您可以停止运行容器,从而使其正确关闭。 默认情况下,容器将关闭10秒。
如果需要快速停止容器而不用担心其工作是否正确完成,则可以使用以下命令:
docker container kill my_container
如果将工作容器与打开的电视进行比较,则
kill
命令类似于通过断开电视电源来关闭电视。 因此,在大多数情况下,建议使用
stop
命令停止容器。
这是允许您快速停止所有正在运行的容器的命令:
docker container kill $(docker ps -q)
要删除停止的容器,可以使用以下命令:
docker container rm my_container
这是一条命令,可用于删除在调用此命令时未执行的所有容器:
docker container rm $(docker ps -a -q)
总结本节。 首先,创建一个容器,然后启动它,或使用
docker run my_container
形式的命令将这两个步骤组合在一起。 之后,启动容器化的应用程序。
然后使用
docker stop my_container
。 要删除容器,请使用
docker rm my_container
。
现在,让我们讨论用于处理图像的命令,以及用于创建容器的模板。
图像
▍创建图像
这是一个允许您收集Docker映像的命令:
docker image build -t my_repo/my_image:my_tag .
在这种情况下,将使用名称
my_image
创建
my_image
;在其组装过程中,将使用位于指定路径或URL的Dockerfile文件。
-t
标志是
--tag
。 它告诉Docker必须为创建的映像分配命令中提供的标签。 在这种情况下,它是
my_tag
。
命令末尾的点表示必须使用位于当前工作目录中的Dockerfile文件收集映像。
组装映像后,可以将其发送到远程注册表。 因此,其他人将可以使用它,可以将其下载并在另一台计算机上运行。 假设您要使用
Docker Hub 。 如果是这样,您将需要在此处创建一个帐户。 免费使用此资源。
注册Docker Hub后,您需要登录。 并且尽管用于此的命令并不直接适用于用于处理图像的命令,但在此处考虑它会很有用。 这是以下命令:
docker login
它允许您登录到Docker Hub帐户。 要登录,您需要输入用户名和密码。
登录后,您可以将图像发送到注册表。 这样做是这样的:
docker image push my_repo/my_image:my_tag
现在您已经有了几种类型的图像,可以使用特殊命令浏览它们。
▍影像研究
这是显示图像列表的命令,包括有关图像尺寸的信息:
docker image ls
以下命令允许您显示有关组成图像的中间图像的信息,尤其是有关它们的大小和创建方式的数据:
docker image history my_image
这是显示有关图像的详细信息的命令,其中包括有关构成图像的图层的数据:
docker image inspect my_image
如果创建了这么多图像,可能会发生其中一些图像需要删除的情况。
▍删除图像
这是允许您删除指定图像的命令:
docker image rm my_image
如果映像存储在远程存储库中,则不会从那里删除它。
这是一个允许您删除所有本地图像的命令:
docker image rm $(docker images -a -q)
请谨慎使用此命令,但应注意,使用该命令时,不会删除远程存储库中存储的图像。 这是在存储库中存储映像的好处之一。
我们检查了用于管理容器和图像的基本命令。 现在让我们谈谈更多的团队。
不同的团队
这是显示Docker客户端和服务器的版本信息的命令:
docker version
您已经知道此命令,用于输入Docker注册表:
docker login
此命令允许您删除未
分配名称和标签的未使用的容器,网络和图像:
docker system prune
这是一个用法示例:
docker system prune -a --volumes
-a
开关是
--all
的简写,允许您删除未使用的图像,而不仅仅是未分配名称和标记的图像。
使用
--volumes
可以删除未使用的卷。
总结
在本文中,我们介绍了有用的Docker命令。 如果您刚刚开始使用Docker,则应注意以下三个最重要的命令:
创建并运行一个容器:
docker container run my_image
建立图片:
docker image build -t my_repo/my_image:my_tag .
将映像上传到远程存储库:
docker image push my_repo/my_image:my_tag
为了查看有关Docker命令的帮助,您可以在终端中执行
docker
命令。
在这里,您可以在Docker命令行界面上找到帮助。
下次,我们将讨论在Docker中处理数据。
亲爱的读者们! 如果使用Docker,则可能会有自己的常用命令列表。 如果是这样,请共享此列表。
