【问题标题】:Docker - ssh by container nameDocker - 按容器名称 ssh
【发布时间】:2017-08-21 17:19:12
【问题描述】:

我想通过容器名称轻松 ssh 到 docker 容器。 现在要 ssh 到我需要调用的容器:

docker ps

返回:

CONTAINER ID        IMAGE
<container_id>        myContainer

并复制 CONTAINER_ID 以执行命令:

docker exec -ti <container_id> /bin/bash/

我有很多容器,通过 IMAGE 名称进行 ssh 会容易得多。 是否可以不编写自定义 bash 脚本?

【问题讨论】:

    标签: bash docker ssh docker-compose


    【解决方案1】:

    一般来说,只要不是在每个容器内都安装 SSH 客户端,就不可能在一个容器内“ssh”。

    请注意,您可以使用container name 而不是container id 将命令(在您的情况下为/bin/bash)执行到正在运行的容器中。

    例如,给定一个像这样的容器:

    $ docker ps
    CONTAINER ID        IMAGE                                   COMMAND                  CREATED             STATUS              PORTS                              NAMES
    5b3068b4e51c        registry_registry                       "/entrypoint.sh /e..."   4 months ago        Up 2 hours          0.0.0.0:5000->5000/tcp             registry_registry_1
    

    运行以下 2 个命令会导致相同的结果:

    docker exec -ti 5b3068b4e51c /bin/bash
    docker exec -ti registry_registry_1 /bin/bash
    

    此外,通常情况下,您可以为同一个映像运行多个容器,因此您想要实现的目标(按映像名称输入容器)并不安全。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-11
      • 2015-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-08
      • 2017-06-22
      • 2018-05-07
      相关资源
      最近更新 更多