docker exec
描述
在运行的容器中执行命令
使用
$ docker exec [options] container command [arg...]
选项
名称 | 默认 | 描述 |
---|---|---|
--detach, -d | 后台运行模式,在后台执行命令相关命令 | |
--detach-keys | 覆盖容器后台运行的一些参数信息 | |
--env, -e | 设置环境变量 | |
--interactive, -i | 展示容器输入信息STDIN | |
--privileged | 为命令提供一些扩展权限 | |
--tty, -t | 命令行交互模式 | |
--user, -u | 设置用户名(format: <name|uid>[:<group|gid>]) | |
--workdir, -w | 指定容器内的目录 |
docker exec
是需要容器处于运行中且PID 1
进程也处于运行中才能执行的操作。命令执行后会进入容器的默认工作目录,如果在Dockerfile
中指定了工作目录,则会进入Dokcerfile
指定的目录,如果命令中指定了工作目录-w
则会进入该目录。
使用示例
启动一个容器,并且开启一个
bash
会话。
$ docker run --name ubuntu_bash --rm -i -t ubuntu bash
后台执行命令并且在容器内创建一个文件。
$ docker run -d ubuntu_bash touch /tmp/execWorks
执行命令,开启一个新的
bash
会话。
$ docker exec -it ubuntu_bash bash
执行命令并设置环境变量
$ docker exec -e VAR=1 ubuntu_bash bash
注意:这里的环境变量只会在这次会话中生效。
$ docker exec -it ubuntu_bash bash
可以通过命令查看容器默认工作目录。
$ docker exec -it ubuntu_bash pwd/
执行命令并进入指定的工作目录
$ docker exec -ti -w /root ubuntu_bash pwd/root
也可以直接指定
bash
目录进入终端
$ docker exec -ti ubuntu_bash /bin/bash
作者:泥称已被栈用
链接:https://www.jianshu.com/p/d858d3cfd427
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦