总结:

# 先执行命令列出所有运行中的容器,找到你要进入的容器:
docker ps
# 如果容器已停止,想查看所有容器(包括停止的):
docker ps -a

# 根据查到的 容器 ID 或 容器名,执行以下命令(二选一即可):
powershell

# 方式1:用容器ID(比如你的 071261fb6eff)
docker exec -it 071261fb6eff bash

# 方式2:用容器名(比如 onlyoffice-ds)
docker exec -it onlyoffice-ds bash


在这里插入图片描述

核心操作:进入 Docker 容器

进入容器的核心命令是 docker exec,它可以在运行中的容器内执行命令,加上 -it 参数能进入交互式终端(最常用)。

步骤 1:找到目标容器的 ID/名称(Windows 终端)

先执行命令列出所有运行中的容器,找到你要进入的容器:

# PowerShell/CMD 通用
docker ps
  • 如果容器已停止,想查看所有容器(包括停止的):
    docker ps -a
    

输出示例(关键列:CONTAINER ID 容器ID、NAMES 容器名):

CONTAINER ID   IMAGE                      COMMAND                   CREATED        STATUS        PORTS                                   NAMES
071261fb6eff   onlyoffice/documentserver   "/app/ds/run-documen..."   2 hours ago    Up 2 hours    0.0.0.0:8080->80/tcp                    onlyoffice-ds
步骤 2:进入容器的交互式终端(Windows 推荐)

根据查到的 容器ID容器名,执行以下命令(二选一即可):

# 方式1:用容器ID(比如你的 071261fb6eff)
docker exec -it 071261fb6eff bash

# 方式2:用容器名(比如 onlyoffice-ds)
docker exec -it onlyoffice-ds bash
  • 如果执行 bash 提示找不到命令(极少数轻量镜像),改用 sh
    docker exec -it 071261fb6eff sh
    

执行成功后,终端提示符会变成类似 root@071261fb6eff:/# 的形式,说明你已经进入容器内部了。

步骤 3:退出容器(不影响容器运行)

进入容器后,想退出回到主机终端,只需执行:

exit

补充:Windows 下的特殊情况处理

  1. 中文乱码问题:如果进入容器后终端显示中文乱码,可在进入容器前设置字符编码(PowerShell):
    chcp 65001
    docker exec -it 容器ID/名称 bash
    
  2. 容器未运行的情况:如果容器处于停止状态,需要先启动容器再进入:
    # 启动容器
    docker start 容器ID/名称
    # 再进入容器
    docker exec -it 容器ID/名称 bash
    

常用扩展命令

场景 命令示例 说明
执行单条命令(不进入) docker exec 071261fb6eff ls /etc 查看容器内/etc目录文件
以 root 权限进入 docker exec -it --user root 071261fb6eff bash 避免权限不足问题

总结

  1. 核心步骤:先通过 docker ps 查容器ID/名称,再用 docker exec -it 容器ID/名称 bash 进入交互式终端。
  2. Windows 适配:命令和 Linux 一致,仅需在 PowerShell/CMD 执行,若 bash 报错换 sh
  3. 退出容器:执行 exit 即可,不会停止容器运行。
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐