【问题标题】:Installing an application into a docker containers through SSH通过 SSH 将应用程序安装到 docker 容器中
【发布时间】:2016-11-25 14:06:04
【问题描述】:

作为背景,我有一个部署工作流程,它同时下载应用程序并将其安装到多个系统/服务器中。为了测试这个工作流程,我需要在 500 个系统上验证并发部署。我无法创建 500 个虚拟机来测试这一点。我采用 Docker 容器的方法来测试这个工作流程。现在的挑战是,如果我使用公共/静态 IP 地址启动一个容器并在容器内安装 ssh,那么我可以通过 ssh 登录到该容器。但是我无法启动另一个具有相同配置的容器,因为端口 22 已被主机上的容器 #1 使用,并且我无法提供不同的端口,因为我的部署工作流程在内部仅使用端口 22。

我认为使用端口转发/NAT 可以实现这一点,可能是每当请求到达 IP#1,然后使用端口 22,当请求到达 IP#2 时,使用端口#27。但我不确定这是否可能。

对此的任何指示都会非常有帮助。

【问题讨论】:

    标签: docker ssh


    【解决方案1】:

    首先,docker 将容器端口映射到不同的主机端口——使用 -p 启动容器。

    docker run mycontainer -p 10001:22
    docker run mycontainer -p 10002:22
    docker run mycontainer -p 10003:22
    etc.
    

    来自docker run reference

    -p=[] : 将一个容器的端口或一系列端口发布到主机。

    编辑:我想我误读了您对 ssh 的使用。

    部署工作流是通过 ssh 连接到每个容器(推送)还是联系(拉取)?如果推送,只需推送到 500 个客户,例如:10001 到 :10501。如果拉,所有客户端无论如何都会调用 22。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-05
      • 2020-02-28
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 2021-08-01
      • 2017-06-30
      • 1970-01-01
      相关资源
      最近更新 更多