2017-08-21 5 views
0

Ich möchte einfach SSH Docker Container nach Containernamen. Nun zum Container ssh i aufrufen müssen:Docker - SSH nach Containername

docker ps 

, die zurückgibt:

CONTAINER ID  IMAGE 
<container_id>  myContainer 

und kopieren CONTAINER_ID Befehl auszuführen:

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

Ich habe viele Container und es wird viel einfacher zu ssh nach IMAGE Name. Ist es möglich, ohne benutzerdefinierte Bash-Skript zu schreiben?

Antwort

1

Im Allgemeinen, solange Sie den SSH-Client nicht innerhalb jedes Containers installieren, ist es nicht möglich, in einem Container "ssh" zu verwenden.

Bitte beachten Sie, dass Sie container name anstelle von container id verwenden können, um einen Befehl (/ bin/bash in Ihrem Fall) in einen laufenden Container auszuführen.

Zum Beispiel gegeben ein Container wie folgt aus:

$ 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 

die folgenden 2-Befehl führt zum gleichen Ergebnis Rennen:

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

Außerdem wieder im Allgemeinen, könnten Sie mehr haben, dass man Container läuft für das gleiche Bild, also was Sie erreichen möchten (geben Sie einen Container nach Bildname) ist nicht sehr sicher.