docker如何在容器外执行容器内命令

简介: 有时候我们想执行某个容器的某条命令,但又不想进入容器内。那该怎么办?所以就有一种办法,我们直接在容器外执行容器内的命令,来进行一些容器内的操作。

@[toc]

前言

有时候我们想执行某个容器的某条命令,但又不想进入容器内。那该怎么办?

所以就有一种办法,我们直接在容器外执行容器内的命令,来进行一些容器内的操作。



可以根据容器名来执行,也可以根据容器的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 ID
docker 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


请添加图片描述

目录
相关文章
|
9月前
|
存储 Java Linux
【Docker】(2)还在浏览网页寻找Docker命令?本文全面列举与使用Docker里的各个命令!想要什么命令直接从本文拿!
docker有着比VM更少的抽象层 由于Docker不需要Hypervisor实现硬件资源虚拟化,运行在Docker容器上的程序直接使用的都是实际物理机的硬件资源 因此在CPU、内存利用率上Docker将会在效率上有明显优势 docker利用的时宿主机的内核,而不需要加载操作系统OS内核 当新建一个容器时,Docker不需要和虚拟机一样重新加载一个操作系统内核 进而避免引寻、加载操作系统内核返回等比较费时费资源的过程,当新建一个虚拟机时,虚拟机软件需要加载OS,返回新建过程时分钟级别的。 而Docker由于直接利用宿主机的操作系统,则省略了返回过程,因此新建一个Docker容器只需
894 124
|
10月前
|
Kubernetes Devops Docker
Kubernetes 和 Docker Swarm:现代 DevOps 的理想容器编排工具
本指南深入解析 Kubernetes 与 Docker Swarm 两大主流容器编排工具,涵盖安装、架构、网络、监控等核心维度,助您根据团队能力与业务需求精准选型,把握云原生时代的技术主动权。
857 115
|
10月前
|
缓存 前端开发 Docker
Docker Layer Caching:加速你的容器构建
Docker Layer Caching:加速你的容器构建
|
11月前
|
运维 持续交付 开发者
Docker:重塑现代应用开发的容器革命
Docker:重塑现代应用开发的容器革命
|
9月前
|
监控 Kubernetes 安全
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
蒋星熠Jaxonic,技术探索者,以代码为笔,在二进制星河中书写极客诗篇。专注Docker与容器化实践,分享从入门到企业级应用的深度经验,助力开发者乘风破浪,驶向云原生新世界。
829 52
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
|
11月前
|
运维 持续交付 开发者
Docker:现代应用开发的容器化革命
Docker:现代应用开发的容器化革命