Docker – 通过容器名称的ssh

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

docker ps 

它返回:

 CONTAINER ID IMAGE <container_id> myContainer 

并复制CONTAINER_ID执行命令:

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

我有很多容器,通过IMAGE名称ssh会容易得多。 有没有写自定义的bash脚本?

一般来说,只要你不在每个容器的内部安装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 

此外,一般情况下,可以有更多的一个容器运行相同的图像,因此你想要存档(通过图像名称input一个容器)是不是很安全。