> 文档中心 > docker如何在容器外执行容器内命令

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

请添加图片描述