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

2.1K
Visualizações
Instalación de mysql para alpine linux en docker

Todavía tengo problemas con la instalación de mysql en alpine en docker.

También necesito openjdk:8u201-jdk-alpine3.9.

Mi archivo acoplable:

 FROM openjdk:8u201-jdk-alpine3.9 RUN apk update && \ apk add mysql mysql-client && \ rm -f /var/cache/apk/* && \ addgroup mysql mysql && \ mkdir run/mysqld && \ touch /var/run/mysqld/mysqld.sock && \ touch /var/run/mysqld/mysqld.pid && \ chown -R mysql:mysql /var/run/mysqld/mysqld.sock && \ chown -R mysql:mysql /var/run/mysqld/mysqld.pid && \ chmod -R 644 /var/run/mysqld/mysqld.sock && \ apk add openrc --no-cache

Pero, en el contenedor: - no hay servicio mysql (solo mariadb, pero probablemente sea una situación estándar para alpine) - no hay ningún archivo my.cnf en el directorio /etc/mysql

Cuando probé el comando mysql , recibí el error:

 Can't connect to local MySQL server through socket '/run/mysqld/mysqld.sock' (111)

Cuando probé el comando mysql -h 127.0.0.1 -P 3306 -u root , recibí el error:

 Can't connect to MySQL server on '127.0.0.1' (115)

Lo mismo para localhost.

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

0

En primer lugar, ¿por qué desea instalar mysql-server en esa imagen específica? Sugeriría usar 2 contenedores separados: uno para la base de datos mysql y otro para la aplicación que está desarrollando usando esa imagen openjdk.

Simplemente puede usar esta esencia https://gist.github.com/karlisabele/d0bebe3d27fc44a57d1db9a9abdff45a para crear una configuración donde su aplicación Java pueda conectarse a la base de datos mysql usando la base de database (el nombre del servicio) como nombre de host para el servidor mysql.

Consulte https://hub.docker.com/_/mysql para obtener configuraciones adicionales en la imagen mysql (debe definir el usuario MYSQL, la contraseña, el nombre de la base de datos, etc.)


ACTUALIZAR

Actualicé la esencia y agregué las variables de entorno necesarias para que mysql funcione... Reemplace los valores qwerty con los suyos y debería poder acceder a la base de datos desde su aplicación Java a través de la base de datos: 3306 usando el nombre de usuario y la contraseña proporcionados en el Variables de entorno

La definición de volúmenes al final del archivo le dice al demonio docker que queremos crear un volumen persistente en algún lugar del sistema de archivos host y usar mysql como alias. Entonces, cuando definimos los volúmenes del servicio de la base de datos, podemos simplemente usar mysql:/var/lib/mysql y en realidad montará una carpeta oscura que Docker creó en su sistema de archivos. Esto permitirá que la base de datos mysql tenga un estado persistente cada vez que inicie el servicio (porque montará los datos de su máquina host) y no tendrá que preocuparse por la ubicación real del volumen.

Puede ver todos los volúmenes ejecutando docker volumes ls

over 4 years ago · Santiago Trujillo Relatório

0

  1. vim /etc/my.cnf.d/mariadb-server.cnf
 [mysqld] #skip-networking
  1. reiniciar el contenedor mysql
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