Docker:docker exec命令简介

2024-01-09 13:25:27

介绍

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 用户,畅通无阻,不存在权限不足的问题

文章来源:https://blog.csdn.net/hhd1988/article/details/135422735
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。