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一个容器)是不是很安全。