Introducción
Docker es un conjunto de productos de plataforma como servicio (PaaS) que utilizan virtualización a nivel de SO para entregar software en paquetes denominados contenedores.
Docker es una utilidad que te permite crear un contenedor para ejecutar aplicaciones. Un contenedor Docker es una máquina virtual completa.
Esta guía le mostrará tres métodos para usar SSH en un contenedor de Docker y ejecutar comandos.
Método 1 :
- Usar docker exec para ejecutar comandos en un contenedor Docker
El ejecutivo de docker comando ejecuta un comando especificado dentro de un contenedor que ya se está ejecutando.
Puede usarlo para SSH en un contenedor Docker creando un bash shell .
Sintaxis para usar docker exec
docker exec (options) (container) (The_command)
- Extraer una imagen de Docker si no lo has hecho puedes cargar apache por ejemplo:
sudo docker pull httpd
- Luego ejecute el contenedor con
sudo docker run --name apache-test -d httpd
- Enumere todos los contenedores en ejecución para verificar si el contenedor está en la lista o no
sudo docker ps
- Para acceder a él y ejecutar comandos en ese contenedor, ejecute
sudo docker exec -it apache-test /bin/bash
La –i opción especifica interactivo
La –t habilita un tecleo terminal interfaz.
Ahora, cualquier comando que ingrese se ejecutará en ese contenedor.
Método 2:
- Utilice la ventana acoplable adjunta Comando para conectarse a un en ejecución Contenedor
El docker adjunto El comando vincula una entrada local, una salida y un flujo de error a un contenedor.
- Para conectarse a un contenedor en ejecución, ejecute
sudo docker attach (The_container_Name)
Ahora, nos conectaremos al apache-test contenedor con la siguiente línea de comando.
sudo docker attach apache-test
Método 3:
- Usaremos SSH para conectarse a un contenedor Docker
Puede conectarse a un contenedor Docker mediante SSH (Secure Shell).
- Instalar, iniciar y habilitar ssh
En CentOS :
dnf install -y openssh-server openssh-clients && systemctl start sshd && systemctl enable sshd
En Ubuntu :
sudo apt-get install ssh && sudo systemctl start sshd && sudo systemctl enable sshd
- Obtener la dirección IP del contenedor Docker
Obtenga la dirección IP del contenedor mediante docker inspect comando y filtrando los resultados.
Para motores Docker modernos, ejecute
sudo docker inspect -f "{{ .NetworkSettings.IPAddress }}" (The_container_name)
Para motores Docker más antiguos, ejecute
[root@unixcop ~]# docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' (The_container_name)
172.17.0.1
[root@unixcop ~]#
- SSH Into Docker Container usando el comando SSH para conectarse al contenedor
ssh [email protected]
El sistema debe solicitar una contraseña del usuario root para ese contenedor
Ahora, puede ejecutar comandos en el contenedor.
Conclusión
Entonces, eso es todo
En este tutorial, le mostramos cómo usar SSH en un contenedor Docker en ejecución y ejecutar comandos a través de tres métodos.
Gracias