docker后台运行模式

2023年 7月 16日 55.8k 0

201901301.png初学者对于一些基本的操作也是迷茫的,我将会逐步写出关于docker的基本操作此章节中的分离其实也就是我们常说的后台运行,在下面的介绍中,均使用分离两字

[root@linuxea.com ~]$ docker run --detach IMAGE 

分离模式(由选项--detach或显示 -d)表示Docker容器在终端的后台运行。它不接收输入或显示输出。如果你在后台运行容器,则会找到它们的详细信息,然后将终端重新连接到其输入和输出。

本教程面向初学者。我将向你展示如何以分离模式运行容器。然后根据需要将它们重新连接到终端输入和输出。

分离模式

启动Docker容器时,必须首先确定是要在分离模式下还是在默认前台模式下在后台运行容器。如果你希望容器运行但不想查看并遵循其所有输出,则可能需要使用此选项。

你经常会看到使用的分离选项的简短版本-d,而较长的版本是--detach。

[root@linuxea.com ~]$ docker run -d IMAGE

如果以分离模式运行容器,则可能需要检查其状态或在其上运行命令。接下来,我将解释如何在终端中查看它们。

查看容器

以分离模式启动容器后,可以使用CLI命令查看它们的运行情况docker ps

默认情况下,它列出正在运行的容器 一些有用的选项包括:

  • -a/ -all对于所有容器(默认显示刚刚运行),和
  • --quiet/ -q列出他们的ID(当你想要获得所有容器时很有用)。

要查看有关容器的更多信息,你可以查看其日志。

查看容器日志

获得有关容器的某些详细信息(例如,其名称 或 ID _)后,你可以使用该命令查看其输出docker logs

[root@linuxea.com ~]$ docker logs [OPTIONS] CONTAINER

此命令的两个最有用的选项是:

  • --tail 虽然默认值是所有行,但你可以指定从日志末尾显示的特定行数。
  • --follow , -f 遵循日志输出,这意味着它将在运行容器的日志正在使用时将其打印到标准输出。

有关使用的更多信息,请查看docker logs的教程。将在后面写出

在运行容器中执行命令

Docker exec是一种常用的CLI命令,允许你在现有运行容器中运行命令。

例如,你可能希望使用docker exec-i(互动)标志,以保持开放的标准输入和-t分配的终端。

[root@linuxea.com ~]$ docker exec -i -t container_name /bin/bash

以下是我的其他帖子的一些链接,我将docker exec进一步解释。

  • Docker run vs exec:深入探讨他们之间的差异

你甚至可能希望再次连接终端以查看容器的输出。接下来,我将向你展示如何做到这一点。

连接

docker attach命令通过传递容器名称或ID将终端的标准输入,输出和错误连接到正在运行的容器。

[root@linuxea.com ~]$ docker attach [OPTIONS] CONTAINER

这允许你查看其正在进行的输出或以交互方式控制它,就像命令直接在你的终端中运行一样。附上docker官方文档

[root@linuxea.com ~]$ docker run -d --name topdemo ubuntu /usr/bin/top -b
[root@linuxea.com ~]$ docker attach topdemo

了解更多

学习如何使用分离模式以及将终端重新连接到Docker容器的方法意味着你可以帮助管理在命令行上运行多个容器和其他任务。

Docker的文档提供了分离模式和附加模式之间差异的更多示例。

  • Attach to and detach from a running containerDocker文档
  • Detached vs foreground

本站延伸阅读:docker和白话容器

学习更多

学习如何使用Docker CLI命令,Dockerfile命令,使用Bash命令可以帮助您更有效地使用Docker应用程序。查看Docker文档和我的其他帖子以了解更多信息。

  • docker目录
  • 白话容器

相关文章

LeaferJS 1.0 重磅发布:强悍的前端 Canvas 渲染引擎
10分钟搞定支持通配符的永久有效免费HTTPS证书
300 多个 Microsoft Excel 快捷方式
一步步配置基于kubeadmin的kubevip高可用
istio全链路传递cookie和header灰度
REST Web 服务版本控制

发布评论