6 votos

Ejecutando MySQL en un contenedor Docker

Así que mi objetivo final es ejecutar una base de datos MySQL ventana acoplable contenedor (decir tutum/mysql desde el registro público) y, a continuación, vincular un Gitlab ventana acoplable contenedor (decir sameersbn/gitlab) donde tanto los contenedores de uso de almacenamiento persistente.

Sin embargo, estoy atascado en el MySQL parte. Cada vez que intento ejecutar un pre-hechos MySQL ventana acoplable contenedor (mysql, tutum/mysql y sameersbn/mysql) como se indica a continuación, me sale el siguiente resultado.

Pasos

Esta es sólo una manera de llegar a la siguiente mensaje de error.

  1. ventana acoplable.io tire tutum/mysql:más reciente
  2. ventana acoplable.io plazo-tutum/mysql bash
  3. Una vez conectado a la nueva contenedor ejecutar "/run.sh" (como por tutum/mysql dockerfile)
  4. En este punto, la "Espera de la confirmación de MySQL de inicio del servicio" mensaje constantemente se repite.
  5. En este punto, si puedo cancelar el "/run.sh" comando y empezar a MySQL me sale el mensaje de error a continuación.

Salida:

root@1bbeb34f3491:/# mysqld

140730 4:49:04 [Advertencia] el Uso de la opción única prefijo key_buffer en lugar de key_buffer_size está en desuso y se quitará en una versión futura. Por favor, utilice el nombre completo en lugar.

140730 4:49:04 [Advertencia] el Uso de la opción única prefijo myisam-recover en lugar de myisam-recover-opciones está en desuso y se quitará en una versión futura. Por favor, utilice el nombre completo en lugar.

140730 4:49:04 [Nota] Plugin 'FEDERADO' está desactivada.

mysqld: Tabla de mysql.plugin' no existe

140730 4:49:04 [ERROR] no se Puede abrir el mysql.plugin tabla. Por favor, ejecute mysql_upgrade a crear.

140730 4:49:04 InnoDB: InnoDB montón de memoria está desactivada

140730 4:49:04 InnoDB: Mutexes y rw_locks usar GCC atómica builtins

140730 4:49:04 InnoDB: Comprimidos el uso de tablas zlib 1.2.8

140730 4:49:04 InnoDB: el Uso nativo de Linux AIO

140730 4:49:04 InnoDB: Inicializar el búfer de la piscina, size = 128.0 M

140730 4:49:04 InnoDB: Finalizado la inicialización de grupo de búfer

140730 4:49:04 InnoDB: alta formato de archivo compatibles es Barracuda.

140730 4:49:04 InnoDB: a la Espera de los subprocesos en segundo plano para empezar

140730 4:49:05 InnoDB: 5.5.37 comenzó a; número de secuencia de registro 1595675

140730 4:49:05 [Nota] el nombre de host del Servidor (bind-address): '0.0.0.0'; puerto: 3306

140730 4:49:05 [Nota] - '0.0.0.0' resuelve '0.0.0.0';

140730 4:49:05 [Nota] el Servidor de socket creado sobre IP: '0.0.0.0'.

140730 4:49:05 [ERROR] no se Puede iniciar el servidor : se Unen en el socket de unix: Permiso denegado

140730 4:49:05 [ERROR] ¿ya tienes otro servidor mysqld se ejecuta en socket: /var/run/mysqld/mysqld.calcetín ?

140730 4:49:05 [ERROR] Abortar

140730 4:49:05 InnoDB: a Partir de apagado... 140730 4:49:06 InnoDB: Apagado completado; número de secuencia de registro 1595675 140730 4:49:06 [Nota] mysqld: Cierre completo

Abordar los errores

  • "Por favor, ejecute mysql_upgrade para crear" => ejecutar mysql_upgrade comando que genera

root@1bbeb34f3491:/# mysql_upgrade

Buscando 'mysql' como: mysql

Buscando 'mysqlcheck", como: mysqlcheck

FATAL ERROR: error de Actualización

  • "¿Ya tienes otro servidor mysqld se ejecuta en el zócalo" => Nope. Ejecutando el servicio de mysql stop no hace nada y ejecutando ps no muestra mysqld. Ejecuta el comando ls-a /var/run/mysqld/ sugiere que el zócalo archivo no existe.

No importa que MySQL contenedor intento, finalmente, cuando empiezo a MySQL el mismo mensaje de error. Esto seguramente significa que hay algo mal con mi configuración que me confunde porque pensé que un contenedor Docker, con no expuestos de los puertos o de almacenamiento persistente, podría estar aislado del sistema de la ventana acoplable está instalado?

También he intentado correr MySQL contenedor con la opción-d, a continuación, ejecuta un nuevo ubuntu 14.04 contenedor (ventana acoplable.io de ejecución --link de mysql:mysql ubuntu:14.04 bash) vinculados a ella. En el Ubuntu contenedor he instalado mysql-client a través de apt-get y trató de conectar a MySQL, el recipiente, pero que no funciona bien.

Mi anfitrión sistema se está ejecutando Ubuntu 14.04 y ventana acoplable fue instalado a través de apt-get y es la versión 0.9.1.

No estaba muy seguro de qué poner en esta explicación, porque el problema parece bastante extraño para mí. Si hay algo que he echado de menos a favor de preguntar y voy a agregar para usted.

Gracias, JamesStewy

EDITAR Si alguien puede crear un conjunto de instrucciones que crea uno de MySQL contenedor y uno vinculado contenedor y trabaja para ellos, así que puedo darle una oportunidad.

2voto

outrunthewolf Puntos 32

Con sameersbn/mysql

No creo que se pueda ejecutar de forma interactiva.

docker run --name mysql -d sameersbn/mysql:latest

Así que simplemente ejecuta como un demonio, inspeccionar el contenedor para encontrar la dirección IP de este modo:

docker inspect mysql | grep IPAddres

y, a continuación, puede conectarse a mysql en esa dirección IP.

0voto

mistertee Puntos 1

Hemos tenido el mismo problema - parece usted necesita esperar a mysql de inicio (o, al menos, el inicio de los oyentes). De lo contrario, obtendrás el 2013 problema que tienes. Acabamos de agregar el sueño de los 60 que es un bastante poco elegante hack pero parece que funciona. Me encantaría escuchar una solución mejor.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: