docker attach / exec 进入容器
最后更新于:2022-04-02 03:04:22
[TOC]
## docker exec
## 语法
```
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
options
--detach , -d 分离模式:在后台运行命令
--env , -e 设置环境变量
--interactive , -i 保持STDIN打开,即使没有附加
--privileged 为命令赋予扩展权限
--tty , -t 分配一个pseudo-TTY
--user , -u Username or UID (format: [:])
--workdir , -w 容器内的工作目录
```
## 示例
### 进入容器
```
docker run --name ubuntu_bash --rm -i -t ubuntu bash
docker exec -it ubuntu_bash bash
```
### 设置环境
```
docker exec -it -e VAR=1 ubuntu_bash bash
```
### 设置工作目录
```
$ docker exec -it ubuntu_bash pwd
/
$ docker exec -it -w /root ubuntu_bash pwd
/root
```
## docker attach
```
> docker run -d --name demo ubuntu /bin/bash
> docker attach demo
```
**缺点**:当多个窗口同时 attach 到同一个容器的时候,所有窗口都会同步显示
';