docker常用命令集(5)

接前一篇文章:docker常用命令集(4)

本文内容参考:

Docker exec 命令 | 菜鸟教程

【Docker基础】Docker容器管理:docker exec详解-CSDN博客

特此致谢!

8. docker exec

简介

docker exec命令用于在运行中的容器内执行一个新的命令。这对于调试、运行附加的进程或在容器内部进行管理操作非常有用。

docker exec是Docker容器管理中的核心命令之一,它允许用户在正在运行的容器内部执行命令。与docker run命令不同,docker exec不会创建新容器,而是附加到已存在的运行中容器。

基本语法

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

常用选项

OPTIONS说明:

  • -i, --interactive

保持标准输入(STDIN)打开,即使没有附加。

使用场景:

需要向容器内输入命令时。

用法示例:

docker exec -i my_container bash
  • -t, --tty

分配一个伪终端(pseudo-TTY)。

使用场景:

需要交互式shell会话时。

用法示例:

docker exec -it my_container bash
  • -d, --detach

在后台运行命令。

使用场景:

执行不需要交互的后台任务。

用法示例:

docker exec -d my_container touch /tmp/file
  • -e, --env

设置环境变量。

使用场景:

需要特定环境执行命令时。

用法示例:

docker exec -e VAR=value my_container env
  • -u, --user

指定执行命令的用户。

使用场景:

需要特定权限执行命令时。

用法示例:

docker exec -u root my_container whoami
  • -w, --workdir

设置命令的工作目录。

使用场景:

需要在特定目录执行命令时。

用法示例:

docker exec -w /app my_container pwd
  • --env-file

从文件中读取环境变量。

  • --privileged

给这个命令额外的权限。

  • --detach-keys

覆盖分离容器的键序列。

典型使用场景与示例

(1)进入容器交互式终端

docker exec -it container_name /bin/bash

参考上边的例子:

(2)在容器内执行单次命令

docker exec my_container ls /var/log

(3)多命令执行技巧

docker exec my_container bash -c "cd /app && ./script.sh"

(4)后台任务执行

docker exec -d my_container tail -f /var/log/app.log

参考上边的例子:

(5)查看容器环境变量

docker exec my_container env

(6)设置临时环境变量

docker exec -e DEBUG=true my_container ./start.sh

参考上边的例子:

(7)以非root用户执行

docker exec -u appuser my_container whoami

参考上边的例子:

(8)从容器内复制文件

docker exec my_container cat /etc/hosts > hosts.txt

(9)检查容器网络

docker exec my_container netstat -tuln

(10)查看容器进程

docker exec my_container ps aux

总结

docker exec是Docker容器管理的瑞士军刀,掌握它的各种用法可以极大提升容器运维效率,通过合理使用docker exec,开发者可以高效地调试、管理和维护运行中的容器,充分发挥Docker容器的优势。

更多内容请看下回。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝天居士

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值