问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

如何打开多个终端进入Docker容器?

发布网友 发布时间:2022-02-26 21:29

我来回答

2个回答

热心网友 时间:2022-02-26 22:58

打开多个终端进入Docker容器有很多种方法,包括使用 docker attach 命令或 nsenter 工具等。

使用 attach 命令有时候并不方便。当多个窗口同时 attach 到同一个容器的时候,所有窗口都会同步显示。

nsenter 可以访问另一个进程的名字空间。

为了连接到容器,你还需要找到容器的第一个进程的 PID,可以通过下面的命令获取。

PID=$(docker inspect –format “{{ .State.Pid }}” <container>) //将<container>换成你的容器id

通过这个 PID,就可以连接到这个容器:

$ nsenter –target $PID –mount –uts –ipc –net –pid

更简单的,建议大家下载 .bashrc_docker,并将内容放到 .bashrc 中。

$ wget -P ~ https://github.com/yeasy/docker_practice/raw/master/_local/.bashrc_docker;

$ echo “[ -f ~/.bashrc_docker ] && . ~/.bashrc_docker” >> ~/.bashrc; source ~/.bashrc

这个文件中定义了很多方便使用 Docker 的命令,例如 docker-pid 可以获取某个容器的 PID;而 docker-enter 可以进入容器或直接在容器内执行命令。

$ echo $(docker-pid <container>)

$ docker-enter <container>

附.bashrc_docker文件内容:

# Some useful commands to use docker.

# Author: yeasy@github

# Created:2014-09-25

alias docker-pid=”sudo docker inspect –format ‘{{.State.Pid}}’”

alias docker-ip=”sudo docker inspect –format ‘{{ .NetworkSettings.IPAddress }}’”

#the implementation refs from https://github.com/jpetazzo/nsenter/blob/master/docker-enter

function docker-enter() {

if [ -e $(dirname "$0")/nsenter ]; then

# with boot2docker, nsenter is not in the PATH but it is in the same folder

NSENTER=$(dirname “$0″)/nsenter

else

NSENTER=nsenter

fi

[ -z "$NSENTER" ] && echo “WARN Cannot find nsenter” && return

if [ -z "$1" ]; then

echo “Usage: `basename “$0″` CONTAINER [COMMAND [ARG]…]”

echo “”

echo “Enters the Docker CONTAINER and executes the specified COMMAND.”

echo “If COMMAND is not specified, runs an interactive shell in CONTAINER.”

else

PID=$(sudo docker inspect –format “{{.State.Pid}}” “$1″)

if [ -z "$PID" ]; then

echo “WARN Cannot find the given container”

return

fi

shift

OPTS=”–target $PID –mount –uts –ipc –net –pid”

if [ -z "$1" ]; then

# No command given.

# Use su to clear all host environment variables except for TERM,

# initialize the environment variables HOME, SHELL, USER, LOGNAME, PATH,

# and start a login shell.

#sudo $NSENTER “$OPTS” su – root

sudo $NSENTER –target $PID –mount –uts –ipc –net –pid su – root

else

# Use env to clear all host environment variables.

sudo $NSENTER –target $PID –mount –uts –ipc –net –pid env -i $@

fi

fi

}

热心网友 时间:2022-02-27 00:16

用 docker ps 找到你要进入的container的 id,然后用 docker exec 执行一个 bash

如:docker exec -it 40c330755e61 /bin/bash
这样你就进到这个container 里面了,这个bash退出也不会影响之前 docker run 启动的 bash
如果需要其他参数可以参考docker 手册 man docker-exec ,man docker-run 等等
如何打开多个终端进入Docker容器?

打开多个终端进入Docker容器有很多种方法,包括使用 docker attach 命令或 nsenter 工具等。使用 attach 命令有时候并不方便。当多个窗口同时 attach 到同一个容器的时候,所有窗口都会同步显示。nsenter 可以访问另一个进程的名字空间。为了连接到容器,你还需要找到容器的第一个进程的 PID,可以通过下面的...

Linux SCADA

ForceSCADA是力控科技信创产品的重要组成部分,具备完全自主知识产权,支持部署在Linux桌面版、服务器版、嵌入式等系统架构下。使用ForceSCADA可以搭建创新性高、扩展性佳、融合度强的SCADA平台,进而构建高效、智能化的监控中心,先进、灵活的...

如何进入docker容器目录

要访问Docker容器内部的目录,首先,打开终端,运行命令 执行`docker ps`,这将列出所有运行中的容器及其对应的ID。例如,你可能会看到一个容器ID为`b5f5b9c82259`。一旦你找到所需的容器ID,接下来的步骤是导航到该容器的目录。在命令行中,输入以下命令,将`b5f5b9c82259`替换为你的实际容器ID:she...

Linux下配置Docker容器间网络连接的教程

打开第二个终端。启动名称为client1的容器:代码如下:sudo docker run -itd --name=client1 client_img /bin/bash进容器里看一下:代码如下:sudo docker attach client1如果你看不见shell命令提示符,可以使用方向键的向上箭头。让我们来测试一下到server1的连通性:代码如下:curl 172.17.0.3如果一...

如何进入,退出docker的container

-t:进入终端 -i:获得一个交互式的连接,通过获取container的输入 /bin/bash:在container中启动一个bash shell 这样就进入container的内部了:root@af8bae53bdd3:/ 如果有运行中的container,可以在container所在的外部操作系统中运行:docker ps 查看到这个container。如果想看到所有的container,包括运行...

如何进入,退出docker的container

-t:进入终端 -i:获得一个交互式的连接,通过获取container的输入 /bin/bash:在container中启动一个bash shell 这样就进入container的内部了:root@af8bae53bdd3:/ 如果有运行中的container,可以在container所在的外部操作系统中运行:docker ps 查看到这个container。如果想看到所有的container,包括运行...

如何进入,退出docker的container

docker run:启动container ubuntu:你想要启动的image -t:进入终端 -i:获得一个交互式的连接,通过获取container的输入 /bin/bash:在container中启动一个bash shell 这样就进入container的内部了:root@af8bae53bdd3:/ 如果有运行中的container,可以在container所在的外部操作系统中运行:docker ps 查...

Docker容器通用教程

在Windows系统中,如果想要通过WSL和Ubuntu进行Docker容器操作,首先需要确保已经开启梯子。启动步骤如下:1. 在开始菜单中,右键点击并选择“终端(管理员)”。2. 在管理员权限下,输入命令 "wsl --install",系统将自动安装WSL和Ubuntu。如果出现提示 "Error code: Wsl/WININET_E_NAME_NOT_RESOLVED"...

Docker 容器使用

例如我们要查看docker stats 指令的具体使用方法:容器使用获取镜像 如果我们本地没有 ubuntu 镜像,我们可以使用 docker pull 命令来载入 ubuntu 镜像:启动容器 以下命令使用 ubuntu 镜像启动一个容器,参数为以命令行模式进入该容器:参数说明:要退出终端,直接输入exit:启动已停止运行的容器 查看所有的...

docker中的exec和attach命令的区别?

如果Docker容器在启动时使用/bin/bash,attach命令就能直接访问容器内部的bash环境。然而,如果容器使用了不同的启动命令,attach将无法直接进入容器内部。此时,需要通过exec命令在容器内部创建bash实例。attach的主要功能是附着到已运行的容器,而不会在容器中创建新的进程执行额外的命令。它仅提供了一个直接...

Docker:容器管理(启动参数,查看容器和日志,进入和修改容器)

开启一个终端启动容器内部,打印指定的环境变量a 此时在run指令中增加-e设置环境变量,可见-e替换了Dockerfile中指定的环境变量 因为一个镜像可以启动多个容器,所以可以通过设置不同-e达到设置不同配置参数的目的,比如下一个例子在Dockerfile中设置和将环境变量写入yaml文件再供Python调用,执行的内容为打印...

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
用支付宝转账,是不是可以省手续费? 普洱茶的“冲”和“泡”分析 用支付宝进行转账,可以避免异地存款的手续费吗 ...地方更适合带小孩子去玩_南京出发去哪个城市看海比较便宜 南京到象山旅游攻略,桂林象山景区旅游攻略 科普知识什么是台风 南京适合带孩子吃饭的地方 万平口沙滩怎么样 南京最像海的地方 看海的地方推荐 李四光的脚 如何 进入docker容器 镜像目录 如何进入到Docker容器内部 怎么看docker 是否安装好了 mac安装docker 还是虚拟机 韩国购物网代购一般在哪个网站买? 为什么ubuntu16.04一直没法成功安装docker 海外代购一般是去哪个网站? 如何在docker中安装ubuntu系统 本人想在国内想东西,不知道哪个代购网比较好,大家一般都是什么代购网站? 阿里云服务器 能安装docker么 如何在docker中运行windows 网上代购一般都去哪个网站呢? yum安装docker、docker-engine、docker-ce的区别 如何安装一个新的应用 windows docker 请问一下谁有docker视频教程 可以分享一下不? 如何在ubuntu14.04上安装docker并运行image 怎么看快手小店一共消费了多少钱 win7系统怎么安装docker 如何在Ubuntu系统下安装docker 如何安装最新版docker docker进入容器 之后怎么退出 台式电脑无线投屏到电视,并分屏 如何进入Docker容器 docker进入容器之后如何退出呢? 如何启动一个已经创建的docker容器,并进入SHELL对其操作 docker 怎么启动容器的所有 docker下容器怎么执行命令? 在excel中如何自动求和,如何隔行求和,请教高手,谢谢 请教高手,如何在EXCEL中自动换行求和, 如何制作docker镜像 如何制作自己的docker镜像 如何构建docker镜像 如何把微信上的兔斯基表情包保存到本地? 怎么制作docker镜像 有多大 怎么制作docker镜像并上传 微信7.0.12怎么把表情保存到本地相册? 如何制作docker nginx镜像 如何制作nfs docker 镜像 如何将应用打包成为 Docker 镜像 如何建立你自己的Docker镜像
  • 焦点

最新推荐

猜你喜欢

热门推荐