Docker - 按容器名称ssh

时间:2017-08-21 09:12:22

标签: bash docker ssh docker-compose

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

docker ps

返回:

CONTAINER ID        IMAGE
<container_id>        myContainer

并复制CONTAINER_ID以执行命令:

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

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

1 个答案:

答案 0 :(得分: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

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