如何通过 SSH 连接到 Docker 容器

如何通过 SSH 连接到 Docker 容器_第1张图片
SSH 是系统管理员工具箱中最常用的命令之一,但它并不常见于 Docker。以下是如何通过 SSH 连接到正在运行的容器,以及为什么在这样做之前应该三思而后行。

你应该在 Docker 容器中使用 SSH 吗?

SSH 进入 Docker 容器通常是一种不好的做法,应该避免。docker exec使用命令在容器中获取 shell几乎总是更好。

Docker 新手可能会尝试使用 SSH 来更新容器内的文件。容器应该是一次性的,所以它们在创建后应该被视为不可变的,除了存储在卷中的持久数据。编辑源代码时创建新图像并重新启动容器。

除了多步骤配置过程之外,在 Docker 映像中安装 SSH 会添加几个依赖包并暴露另一个潜在的攻击向量。在具有多个活动容器的系统上,您将运行多个独立的 SSH 进程,并且必须记住每个容器的正确端口。

无需将 SSH 添加到单个容器,只需在运行 Docker 的物理主机上安装一次即可。使用 SSH 连接到您的主机,然后运行docker exec -it my-container bash以访问各个容器。

虽然docker exec是首选方法,但仍然存在 SSH 可能有用的场景。您可以将其作为权宜之计引入,以与遗留部署系统集成。它也可能被一些 IDE 和构建工具用于在开发期间提供实时重新加载功能。

你可能感兴趣的:(Docker最全实战教程,docker,容器,ssh)