博客
关于我
Docker容器进入的4种方式(推荐最后一种)
阅读量:803 次
发布时间:2023-01-23

本文共 1248 字,大约阅读时间需要 4 分钟。

进入Docker容器的4种方式【推荐使用最后一种】

在使用Docker创建了容器后,进入容器是开发者和管理员常遇到的操作之一。šak多种方式可以实现这一目标,本文将详细介绍几种常用的方法,并推荐一种最优选择。

1. 使用 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 可以退出。

2. 使用 SSH 进入容器

如果你需要直接通过 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 回车。

3. 使用 nsenter 进入容器

nsenter 是一个性能较好的工具,可以直接进入容器。你可以手动查找容器的 PID 和fernald,例如:

$ docker inspect -l container_name | grep iptables

然后使用 nsenter命令:

$ nsenter -t {container_id}

4. 使用 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/

你可能感兴趣的文章
Netty工作笔记0020---Selectionkey在NIO体系
查看>>
Vue踩坑笔记 - 关于vue静态资源引入的问题
查看>>
Netty工作笔记0024---SelectionKey API
查看>>
Netty工作笔记0025---SocketChannel API
查看>>
Netty工作笔记0027---NIO 网络编程应用--群聊系统2--服务器编写2
查看>>
Netty工作笔记0028---NIO 网络编程应用--群聊系统3--客户端编写1
查看>>
Netty工作笔记0034---Netty架构设计--线程模型
查看>>
Netty工作笔记0050---Netty核心模块1
查看>>
Netty工作笔记0057---Netty群聊系统服务端
查看>>
Netty工作笔记0060---Tcp长连接和短连接_Http长连接和短连接_UDP长连接和短连接
查看>>
Netty工作笔记0063---WebSocket长连接开发2
查看>>
Netty工作笔记0070---Protobuf使用案例Codec使用
查看>>
Netty工作笔记0072---Protobuf内容小结
查看>>
Netty工作笔记0074---handler链调用机制实例1
查看>>
Netty工作笔记0077---handler链调用机制实例4
查看>>
Netty工作笔记0081---编解码器和处理器链梳理
查看>>
Netty工作笔记0083---通过自定义协议解决粘包拆包问题1
查看>>
Netty工作笔记0084---通过自定义协议解决粘包拆包问题2
查看>>
Netty工作笔记0085---TCP粘包拆包内容梳理
查看>>
Netty常用组件一
查看>>