dockerexec执⾏多个命令的操作
docker exec命令能够在运⾏着的容器中执⾏命令。
docker exec命令的使⽤格式:
docker exec [OPTIONS] container_name COMMAND []
OPTIONS说明:
-d,以后台⽅式执⾏命令;
-e,设置环境变量
-i,交互模式
-t,设置TTY
-u,⽤户名或UID,例如myuser:myusergroup
通常COMMAND只能是⼀条语句,为了⽀持多个命令的执⾏,需要将多个命令连接起来交给Shell,
nginx停止命令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 ...
补充:Docker exec 宿主对容器执⾏命令
Docker 下 exec 从宿主机对容器执⾏命名操作
docker exec -it
# 交互可以进⼊容器 ; exec 也可以在宿主机对容器执⾏命令;
docker attach
# 也是可以进⼊容器
1、远程执⾏命令:⽂件操作:
docker exec -d nginx1 touch /
-d:后台型,在 nginx1 容器中创建⼀个 1.txt ⽂件
2、⽂件操作拷贝依然是 cp;
docker cp 1.11.sh nginx1:/root/
# 从宿主机拷贝⽂件
docker exec nginx1 ls /root
# 查看⽂件
docker exec nginx1 rm -rf /root/1.11.sh
# 删除⽂件
3、diff 查看容器的⽬录结构;
docker diff nginx1
# 查看 nginx1 容器的⽂件结构
以上为个⼈经验,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。如有错误或未考虑完全的地⽅,望不吝赐教。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。