docker exec执行多个命令详解

docker exec执行多个命令详解

2018年04月23日 22:46:24 阅读数:6928 标签: dockercontainershellexec 更多git

我的分类: DockerGitMicro Servicesdocker

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/taiyangdao/article/details/71598935shell

docker exec命令可以在运行着的容器中执行命令。docker exec命令的使用格式:bash

docker exec [OPTIONS] container_name COMMAND [ARG...]ssh

OPTIONS说明:fetch

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

-e,设置环境变量.net

-i,交互模式code

-t,设置TTYserver

-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命令,以下将抛出异常:

 
  1. docker pause myContainer

  2. docker exec myContainer ...

 

参考连接:

https://docs.docker.com/engine/reference/commandline/exec/

相关文章
相关标签/搜索