# 为正在运行的容器器启动多个终端

# 示例

有时候,需要在当前运行的容器上开启多个终端窗口,这该如何实现呢?

linux中,一个终端窗口就是一个bash进程。

在容器中,可以使用‵exec命令,执行运行容器中的可执行文件bash`来启动额外的终端。

#以可交互的方式启动容器

sudo docker run -it -v <host-dir>:<docker-dir> <image-name>:<image-tag>

# 查看正在运行的容器
sudo docker ps

# CONTAINER ID   IMAGE           COMMAND       CREATED              STATUS              PORTS     NAMES
# da64e90cd995   ubuntu:latest   "/bin/bash"   About a minute ago   Up About a minute             boring_hypatia

sudo docker exec -it <container_id> bash

# docker exec命令

docker exec在运行的容器中执行命令

语法

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

OPTIONS说明:

  • -d :分离模式: 在后台运行
  • -i :即使没有附加也保持STDIN 打开
  • -t :分配一个伪终端

更多options选项,可以使用sudo docker exec --help查看。

1.https://stackoverflow.com/questions/39794509/how-to-open-multiple-terminals-in-docker (opens new window)