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/

相關文章
相關標籤/搜索