Docker:docker exec命令简介

介绍

docker exec [OPTIONS] 容器名称 COMMAND [ARG...]

OPTIONS说明:

-d,以后台方式执行命令;

-e,设置环境变量

-i,交互模式

-t,设置TTY

-u,用户名或UID,例如myuser:myusergroup

通常COMMAND只能是一条语句,为了支持多个命令的执行,需要将多个命令连接起来交给Shell,docker exec命令的使用示例如下:

  1. sudo docker exec myContainer bash -c "cd /home/myuser/myproject && git fetch ssh://gerrit_server:29418/myparent/myproject ${GERRIT_REFSPEC} && git checkout FETCH_HEAD";

  2. sudo docker exec myContainer bash -c "cd /home/myuser/myproject;git fetch ssh://gerrit_server:29418/myparent/myproject ${GERRIT_REFSPEC};git checkout FETCH_HEAD";

注意:对于已经暂停或停止了的容器,无法执行docker exec命令,如下将抛出异常:

docker pause myContainer

docker exec myContainer ...

options 作用

-d 在后台运行命令

-i 即使没有附加也保持 STDIN 打开

-t 设置TTY

进入容器的 CLI 模式

-e 设置环境变量

-w 需要执行命令的目录

-u 指定访问容器的用户名

备注:其实还有几个 options,但是目前还没用到,要用的时候再写吧

举栗说明

执行 tomcat 容器的 startup.sh 脚本

docker exec -it tomcat7 startup.sh

进入容器的 CLI 模式(最常用)

docker exec -it tomcat7 bash

执行普通命令

docker exec -it tomcat7 pwd

指定工作目录执行命令

docker exec -it -w /usr tomcat7 pwd

以 root 用户身份进入容器(重点)

docker exec -it -uroot jenkins1 bash

**-uroot :**好处就是,在容器里敲命令就是 root 用户,畅通无阻,不存在权限不足的问题

相关推荐
MichealChen0105082 小时前
Influxdb-cluster使用docker部署
运维·docker·容器
斯普信云原生组3 小时前
Docker 开源软件应急处理方案及操作手册——安全漏洞与权限问题
运维·docker·容器
MonkeyKing_sunyuhua3 小时前
阿里云ECS安装docker compose
阿里云·docker·云计算
迷路爸爸1805 小时前
Docker 入门学习笔记 06:用一个可复现的 Python 项目真正理解 Dockerfile
笔记·学习·docker
斯普信云原生组5 小时前
Docker 开源软件应急处理方案及操作手册——容器运行异常处理
docker·容器·eureka
摆烂z5 小时前
对外访问网络限制*.aliyuncs.com开放也拉不下来和查看docker容器结构
运维·docker·容器
斯普信云原生组6 小时前
Docker 开源软件应急处理方案及操作手册——资源限制与性能瓶颈
docker·容器·eureka
我科绝伦(Huanhuan Zhou)6 小时前
分享一个很实用的K8S巡检脚本
linux·docker·kubernetes
迷路爸爸1807 小时前
Docker 入门学习笔记 05:卷到底是什么,为什么容器删了数据却还能保留
笔记·学习·docker
恼书:-(空寄7 小时前
Docker 进阶核心实战:自定义镜像 + Dockerfile + Docker Compose
docker·容器·docker compose