Usando docker-compose up
Desde que publicaste el puerto 3306
en su host docker , desde ese mismo host te conectarías a 127.0.0.1:3306
.
Usando docker-compose run
En ese caso, la sección de mapeo de puertos de docker-compose.yml
el archivo es ignorado. Para tener en cuenta la sección de asignación de puertos, debe agregar el --service-ports
opción:
docker-compose run --service-ports db
Nota adicional
Tenga en cuenta que, de forma predeterminada, el cliente mysql intenta conectarse mediante un socket de Unix cuando le dice que se conecte a localhost
. Así que usa 127.0.0.1
y no localhost
:
$ mysql -h 127.0.0.1 -P 3306 -u root
Bienvenido al monitor de MySQL. Los comandos terminan en; o \g.Su identificación de conexión MySQL es 1Versión del servidor:5.6.26 MySQL Community Server (GPL)
Copyright (c) 2000, 2015, Oracle y/o sus filiales. Todos los derechos reservados.
Oracle es una marca registrada de Oracle Corporation y/o sus afiliados. Otros nombres pueden ser marcas comerciales de sus respectivos propietarios.
Escriba 'ayuda;' o '\h' para obtener ayuda. Escriba '\c' para borrar la declaración de entrada actual.
mysql>
$ mysql -h localhost -P 3306 -u root
ERROR 2002 (HY000):No se puede conectar al servidor MySQL local a través del socket '/var/run/mysqld/mysqld.sock' (2)