docker如何在容器外执行容器内命令
文章目录
- 前言
-
- 参考实例
- 注意事项:
前言
有时候我们想执行某个容器的某条命令,但又不想进入容器内。那该怎么办?
所以就有一种办法,我们直接在容器外执行容器内的命令,来进行一些容器内的操作。
可以根据容器名来执行,也可以根据容器的CONTAINER ID来执行
参考实例
根据容器名来执行容器内的命令
#查看容器名docker ps -a#例如nginx;-c后面是要执行的容器内的命令sudo docker exec -it nginx /bin/bash -c 'cd /packages/detectron && python tools/train.py'
根据CONTAINER ID来执行容器内的命令
#查看容器的CONTAINER IDdocker ps -a DOCKER_ID=63f6f4sab243#根据CONTAINER ID来执行容器内的命令sudo docker exec -it $DOCKER_ID /bin/bash -c 'cd /packages/detectron && python tools/train.py'# 或sudo docker exec $DOCKER_ID /bin/bash -c 'cd /packages/detectron && python tools/train.py'
注意事项:
-it 有可能造成命令不执行,特别是在程序调用时,确认的确需要再加上-it