当前位置:   article > 正文

docker exec命令详解

docker exec
  1. docker exec [OPTIONS] 容器名称 COMMAND [ARG...]
  2. OPTIONS说明:
  3. -d,以后台方式执行命令;
  4. -e,设置环境变量
  5. -i,交互模式
  6. -t,设置TTY
  7. -u,用户名或UID,例如myuser:myusergroup
  8. 通常COMMAND只能是一条语句,为了支持多个命令的执行,需要将多个命令连接起来交给Shell,docker exec命令的使用示例如下:
  9. sudo docker exec myContainer bash -c "cd /home/myuser/myproject && git fetch ssh://gerrit_server:29418/myparent/myproject ${GERRIT_REFSPEC} && git checkout FETCH_HEAD";
  10. sudo docker exec myContainer bash -c "cd /home/myuser/myproject;git fetch ssh://gerrit_server:29418/myparent/myproject ${GERRIT_REFSPEC};git checkout FETCH_HEAD";
  11. 注意:对于已经暂停或停止了的容器,无法执行docker exec命令,如下将抛出异常:
  12. docker pause myContainer
  13. docker exec myContainer ...


options    作用

  1. -d    在后台运行命令
  2. -i    即使没有附加也保持 STDIN 打开
  3. -t    设置TTY

进入容器的 CLI 模式

  1. -e    设置环境变量
  2. -w    需要执行命令的目录
  3. -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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/73987
推荐阅读
相关标签
  

闽ICP备14008679号