Docker attach V/S Docker exec

docker exec和docker attach都是进入容器的命令但是它么两个有一些区别你们知道吗?

docker attach 语法

attach是Docker自带的命令,命令的语法为:

复制代码
docker attach 容器ID

docker exec 语法

从Docker的1.3版本起,Docker提供了更加方便的工具exec命令,可以在运行容器内直接执行任意命令。命令语法为:

复制代码
docker exec -it 容器ID bash

两者区别

  • 当多个窗口同是attach到同一个容器的时候,所有窗口都会同步显示;当某个窗口因命令阻塞时,其他窗口也无法执行操作。
  • 可以使用 docker exec -it 容器id /bin/bash 进入容器并开启一个新的bash终端。 使用exit或者Ctrl+d退出容器终端时,不会导致容器的停止。
  • 使用 docker attach 容器id 进入正在执行容器,不会启动新的终端, 使用exit或者Ctrl+d退出容器时,会导致容器的停止,但是使用Ctrl+p+q退出后容器不会停止。
相关推荐
maosheng1146几秒前
Linux的第二次作业
linux·运维·服务器
maosheng11461 分钟前
Linux
linux·运维·服务器
0xDevNull1 小时前
Linux服务器日志查看完全指南
linux·运维·服务器
songx_991 小时前
Linux基础1
linux·运维·服务器
菱玖1 小时前
Linux 系统性能排查常用指令
linux·运维·服务器
皮卡蛋炒饭.2 小时前
进程间通信
linux·运维·服务器
艾莉丝努力练剑2 小时前
【Linux系统:信号】线程安全不等于可重入:深度拆解变量作用域与原子操作
java·linux·运维·服务器·开发语言·c++·学习
zfoo-framework2 小时前
docker compose安装gitea实现公司内部开发git私有仓库
docker·容器·gitea
w6100104662 小时前
CKAD-2026-Secret
运维·k8s·ckad
无巧不成书02182 小时前
基于WSL 2的Docker远程开发全栈实战指南
运维·docker·容器·docker desktop·wsl 2·vs code远程开发·容器化开发