docker exec执行多个命令详解
2018年04月23日 22:46:24 阅读数:6928 标签: dockercontainershellexec 更多
个人分类: DockerGitMicro Services
版权声明:本文为博主原创文章,转载请注明出处。 https://blog.youkuaiyun.com/taiyangdao/article/details/71598935
docker exec命令能够在运行着的容器中执行命令。docker exec命令的使用格式:
docker exec [OPTIONS] container_name COMMAND [ARG...]
OPTIONS说明:
-d,以后台方式执行命令;
-e,设置环境变量
-i,交互模式
-t,设置TTY
-u,用户名或UID,例如myuser:myusergroup
通常COMMAND只能是一条语句,为了支持多个命令的执行,需要将多个命令连接起来交给Shell,docker exec命令的使用示例如下:
-
sudo docker exec myContainer bash -c "cd /home/myuser/myproject && git fetch ssh://gerrit_server:29418/myparent/myproject ${GERRIT_REFSPEC} && git checkout FETCH_HEAD";
-
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 ...
参考链接:
https://docs.docker.com/engine/reference/commandline/exec/