Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

807
Visualizações
¿Cómo configurar el archivo mariadb docker-compose para usar otro puerto que no sea 3306?

No puedo hacer que mariadb use otro puerto que no sea 3306 cuando lo ejecuto en un contenedor docker usando un archivo docker-compose.

Ya leí la documentación de mariadb/docker, busqué en línea y realicé mis propios experimentos.

  1. archivo docker-compose:
 version: '3.1' services: db: image: mariadb restart: always environment: - MYSQL_ROOT_PASSWORD=mypassword - MYSQL_TCP_PORT=33030 - MYSQL_UNIX_PORT=33020 ports: - "33020:33020"
  1. archivo acoplable:
 FROM: mariadb: 10.3.14 COPY mydbscript.sql /docker-entrypoint-initdb.d/ EXPOSE 33020 CMD ["mysqld"]

Nunca usa el puerto 33020. Todavía usa el puerto 3306. ¿Cómo puedo pasar el puerto dinámicamente a través del archivo docker-compose en tiempo de ejecución?

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Debe reemplazar el my.cnf predeterminado para especificar un puerto personalizado para MariaDB/MySQL:

 cd /where/your/docker-compose.yml/located docker run -it mariadb cat /etc/mysql/my.cnf > my.cnf # use any text editor your like to open my.cnf, search for "port = 3306" # and replace it to the port you like to have.

Configure su docker-compose.yml así:

 version: '3.1' services: db: image: mariadb restart: always volumes: - type: bind source: ./my.cnf target: /etc/mysql/my.cnf environment: - MYSQL_ROOT_PASSWORD=mypassword # add your other configurations here
over 4 years ago · Santiago Trujillo Relatório

0

La imagen del contenedor está vinculada estáticamente a :3306 . Si desea cambiar esto, deberá crear una nueva imagen y configurar la base de datos para que se ejecute en otro lugar.

Sin embargo, Docker le permite mapear (publicar) esto como un puerto diferente :33020 .

La forma correcta de hacer esto es:

  • ventana acoplable-componer MYSQL_TCP_PORT=3306
  • ports: - "33020:3306"
  • Dockerfile EXPOSE 3306 (sin cambios)

Los contenedores (internamente) harán referencia correctamente a :3306 pero externamente (desde el host) la base de datos estará expuesta en :33020 .

NB Dentro de docker-compose (red), otros contenedores deben continuar haciendo referencia a la base de datos en el puerto :3306 .

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda