本文共 1248 字,大约阅读时间需要 4 分钟。
在使用Docker创建了容器后,进入容器是开发者和管理员常遇到的操作之一。šak多种方式可以实现这一目标,本文将详细介绍几种常用的方法,并推荐一种最优选择。
docker attach
进入Docker容器docker attach
是 Docker 提供的一个简单但强大的命令,用于进入容器。以下是操作步骤:
$ sudo docker run -itd ubuntu:14.04 /bin/bash
运行上述命令会创建一个守护态容器(即:disable-exit),接着使用 docker attach
进入容器:
$ docker attach -i container_name
注意:进入容器后按下 Ctrl + p + q
可以退出。
如果你需要直接通过 SSH 访问容器内部,可以利用 Docker 的 --expose
选项将端口暴露后,使用 SSH 连接到容器:
$ sudo docker run -itd --expose={宿主IP}:{宿主端口} --net {网络} ubuntu:14.04 /bin/bash
例如:
$ sudo docker run -itd --expose=192.168.1.1:22 --net docker-br net=bridge ubuntu:14.04 /bin/bash
然后在另一个终端窗口中:
$ ssh -p 22 docker_hash
进入后按 Ctrl + z
退出 SSH 回车。
nsenter
进入容器nsenter
是一个性能较好的工具,可以直接进入容器。你可以手动查找容器的 PID 和fernald,例如:
$ docker inspect -l container_name | grep iptables
然后使用 nsenter
命令:
$ nsenter -t {container_id}
docker exec
进入Docker容器docker exec
的作用是进入运行中的容器,并没有预览运行中的变化。如果你需要执行一些命令而不进入交互式环境,可以采用这个方法。
例如:
$ docker exec container_name sh -c "echo 'Hello from Docker!' && exit"
如果需要进入交互式环境,可以使用 -it
选项:
$ docker exec -it container_name /bin/bash
docker attach
虽然 docker attach
看起来简单,但它依然是最直接且效率最高的方式。如果需要频繁进入容器,docker attach
是最佳选择,因为它保持连接的同时不会阻塞终端。此外,如果你不想在退出后销毁容器,可以使用 docker run -itd
创建守护态容器。
转载地址:http://ppeyk.baihongyu.com/