ServerBox 中文文档 下载 App

如何在 ServerBox 里进入 Docker 容器内部运行命令

进入容器终端

在容器详情页点「终端」按钮,ServerBox 会通过 SSH 执行 docker exec -it <容器名> /bin/sh(或 bash,如果容器里有的话),然后把返回的 shell 渲染成一个内嵌终端。

Docker 容器内终端

容器终端和普通 SSH 终端的区别

特性普通 SSH 终端Docker 容器终端
进入方式ssh user@serverdocker exec -it container sh
文件系统宿主机完整容器自己的文件系统(从镜像来)
进程宿主机所有进程只有容器内的进程
用户服务器用户容器内用户(通常是 root 或应用用户)
网络宿主机网络命名空间容器独立网络(bridge/host/none)
安装工具宿主机装了什么就是什么镜像里带了什么,通常很精简

容器里常用的排查命令

进了容器终端后,常用的排查操作:

# 看进程
ps aux

# 看网络
ip addr / netstat -tlnp

# 看环境变量
env

# 看应用日志(如果容器里日志写文件)
tail -f /var/log/app.log

# 测试网络连通性
curl http://其他容器:端口/
ping 其他容器

容器里没有 bash 怎么办

很多生产级 Docker 镜像(如 Alpine、Distroless、Slim)不包含 bash,只有 sh。ServerBox 会先尝试 bash,找不到就退回到 sh,所以正常情况下不用管。

如果你需要 bash 功能(history、数组、更丰富的语法):

在容器终端和宿主机终端之间切换

ServerBox 会把你打开的所有终端(宿主机 SSH + Docker exec)统一列在侧栏,方便随时切换:

退出容器终端