Tire del contenedor ssh-client a través de docker-compose

Soy nuevo en Docker y es posible que no entienda algo.

Tengo un contenedor de app y un dockerfile .

Quiero instalar un ssh-client en el contenedor de la app . Quiero poder ejecutar el command ssh para llegar a una dirección IP externa desde el contenedor de la app .

La forma más simple que sé es agregar

RUN apk update && apk add openssh-client bash

a mi dockerfile , pero me gustaría usar una image list, por lo que todos mis contenedores podrían usar la misma.

¿Es posible hacerlo?

Si busca en dockerhub donde residen todas las imágenes públicas, encontrará que todas las imágenes populares de "ssh-client" simplemente están construyendo sobre alpine e instalando openssh-client exactamente de la manera en que lo describió.

Entonces, no hay un beneficio obvio al usar esas imágenes existentes. Simplemente instale el ssh-client a través de:

 RUN apk update && apk-install openssh-client 

Escriba un Dockerfile ( https://docs.docker.com/engine/reference/builder/ ):

 FROM alpine:latest # install ssh-client and bash RUN apk --no-cache add openssh-client bash # example ssh usage to print version ENTRYPOINT ["ssh", "-V"] 

Comstackr y ejecutarlo con: docker build -t ssh . && docker run -t ssh ssh docker build -t ssh . && docker run -t ssh ssh O use Docker-Compose.

Después de docker build con Docker Build, puede reutilizar la image de Docker ssh en sus otros proyectos en Dockerfiles.

 FROM ssh ... 

Usando Docker-Compose docker-compose.yml :

 version: '3' services: ssh: build: . image: ssh 

Puede agregar múltiples services en el file de networkingacción que desee. El file de compilation de window acoplable desde arriba utiliza el file Docker desde arriba para build su image de acoplador ssh. Consulte la reference del file de composition: https://docs.docker.com/compose/compose-file/