docker 进入运行容器 Docker容器管理实战:查询容器、进入容器、容器内执行命令、查看日志、终止容器、删除容器命令使用详解

这是一篇分享Docker容器管理命令使用的技术文章,文章的核心内容如下:- 如何查询正在运行的容器;- 如何进入正在运行的容器;- 如何如何在容器中执行命令;-

核心内容

查询正在运行的容器

docker ps 命令用于列出当前正在运行的容器。这个命令会显示容器的基本信息,如容器 ID、名称、运行状态、使用的镜像、创建时间等。

基本语法

docker ps [OPTIONS]

其中,OPTIONS 是可选参数,用于指定一些额外的选项和配置。常见的选项包括:

使用示例

查询当前正在运行的所有容器

docker ps

查询所有的容器,包括停止状态的容器

docker ps -a

查询当前正在运行的所有容器的 ID:

docker ps -q

根据条件查询正在运行的容器

docker ps --filter "status=running"

查询正在运行的最后创建的两个容器

docker ps -n 2

docker ps命令输出信息解释:

在容器中执行命令

docker exec 命令用于在运行中的容器内执行命令。通过这个命令,你可以进入容器的命令行环境,并在容器内执行指定的命令。

基本语法

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

其中,各部分的含义如下:

OPTIONS部分常用参数项:

使用示例

在名为 my_container 的容器中以后台模式执行名为 script.py 的 Python 脚本。

docker exec -d my_container python script.py

以交互模式在名为 my_container 的容器中启动一个 Bash shell。

docker exec -i my_container bash

在名为 my_container 的容器中执行的命令分配一个伪终端,同时以交互模式启动一个 shell。

docker exec -it my_container sh

在名为 my_container 的容器中以指定的用户名 username 的身份执行 whoami 命令。

docker exec -u username my_container whoami

在名为 my_container 的容器中执行具有特权的命令,command为特权命令的具体内容。

docker exec --privileged my_container command

请注意,docker exec 命令只能在正在运行的容器内执行命令。如果容器处于停止状态,你需要先启动该容器,然后再使用 docker exec 命令。

进入容器

docker attach 命令用于附加到正在运行的容器的标准输入、输出和错误流(STDIN/STDOUT/STDERR)。通过这个命令,你可以实时查看容器的输出,并与容器进行交互。

基本语法

docker attach [OPTIONS] CONTAINER

各部分的含义如下:

其中,OPTIONS部分常用参数项:

使用示例

附加到名为 mycontainer 的容器,查看容器中的日志输出

docker attach mycontainer

执行该命令后,你将进入容器的交互式终端,可以看到容器的输出,并且可以与容器进行交互。按下 Ctrl + C 可以退出容器的附加模式。

需要特别注意的是:当你使用docker attach命令附加到容器后,实际上进入了容器中正在运行的进程的标准输入、输出和错误流。当你按下Ctrl+C时,实际上是发送了一个中断信号给容器中的进程,这就像在本地终端中按下Ctrl+C一样,会导致进程退出,容器停止运行。如果希望退出交互式对话后,容器仍然可以运行,建议使用docker exec -it mycontainer command命令,command为进入容器后要执行的命令。

指定了键序列为ctrl-],意味着可以按下Ctrl+]来分离容器

docker attach --detach-keys="ctrl-]" container_name

不要附加到容器的标准输入,意味着不能通过键盘输入与容器进行交互

docker attach --no-stdin container_name

禁用了信号代理,这意味着容器内的进程将不会接收到来自宿主机的信号

docker attach --sig-proxy=false container_name

查看容器日志

docker logs 命令用于查看容器在运行过程中产生的日志信息。

基本语法

docker logs [OPTIONS] CONTAINER

各部分的含义如下:

其中,OPTIONS部分常见的选项包括:

使用示例

实时跟踪容器的日志输出:

docker logs -f my_container

这将实时跟踪名为 my_container 的容器的日志输出,并持续显示新的日志消息。

显示自指定时间以来产生的日志:

docker logs --since="2024-05-01T08:00" my_container

这将显示自2024年5月1日08:00开始产生的日志消息。

显示自指定时间之前产生的日志:

原创文章,作者:筱凯,如若转载,请注明出处:https://www.jingyueyun.com/ask/430.html

(0)
筱凯筱凯
上一篇 2024 年 7 月 11 日
下一篇 2024 年 7 月 11 日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

云产品限时秒杀。精选云产品高防服务器,500M大带宽限量抢购  >>点击进入