Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

476
Views
¿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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!