Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

475
Vistas
¿Cómo conectarse a un contenedor MySQL Docker a través de SSH?

Cuando trato de hacer un túnel a través de SSH al Host Mashine (vServer) y luego intento conectarme a través de la ventana acoplable Container-IP interna, entonces no puedo conectarme a MySQL.

Este es mi archivo docker-compose.

 version: '2' services: mysql: build: ./mysql environment: MYSQL_ROOT_PASSWORD: test volumes: - ./db:/var/lib/mysql

La única solución que encontré fue reenviar el MySQL-Port del contenedor mysql al Host-Mashine.

 version: '2' services: mysql: build: ./mysql environment: MYSQL_ROOT_PASSWORD: test volumes: - ./db:/var/lib/mysql ports: - 3306:3306

Entonces puedo conectarme a través de Host IP a MySQL, pero esto es sin SSH, es directo a través de TCP y el puerto. Esto es un No-Go para mí para traer el Servicio MySQL a Internet.

Puede encontrar las razones aquí https://security.stackexchange.com/questions/63881/is-it-not-safe-to-open-mysqls-port-to-the-internet por las que no es una buena práctica traer su puerto mysql a internet.


Entonces, ¿cuál es una buena práctica para conectarme a mi contenedor docker mysql con SSH pero mantener los puertos mysql cerrados?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Una forma simple es vincular el puerto MySQL solo a la dirección localhost. Eso supone que el host tiene un cliente mysql disponible fuera de Docker.

 ports: - 127.0.0.1:3306:3306

También puede omitir la sección de ports por completo (sin enlace de puertos) y usar el cliente mysql que ya está dentro del contenedor.

 docker-compose exec mysql bash

Luego ejecute el comando mysql dentro del contenedor para realizar las consultas que desee.

over 4 years ago · Santiago Trujillo Denunciar

0

Una manera fácil de lograr esto es reenviar el puerto ssh del contenedor docker a algún puerto en su host, es decir

 ports: - 22:<some free host port>

y luego acceda al contenedor a través de ssh al puerto de host que utilizó. Tenga en cuenta que es una mala idea usar el puerto 22, ya que provocará un conflicto con el servidor ssh que se ejecuta en su host.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda