I build 2 docker container with docker-compose. I use Docker on Mac, no boot2docker.
version: '2'
services:
drupal-web:
image: drupal:latest
ports:
- "8080:80"
depends_on:
- mysql-server
links:
- mysql-server:mysql
mysql-server:
image: mysql
environment:
MYSQL_DATABASE: drupal
MYSQL_ROOT_PASSWORD: root
MYSQL_USER: drupal
MYSQL_PASSWORD: drupal
Everything works fine. I install Drupal successfully.
The problem is: I would like to connect SequelPro to my DB, but i dont get a connection to the mysql container. I'm a docker beginner.
You forgot to expose your DB port to the host, so simply add
And then connect to the database in Sequel Pro using:
If you already have a local mysql database running on your host, change the port
and then connect to port
4306
instead of3306
. Be aware, from the Drupal container, you will still use3306
In my case i has problem with mysql:8, change to any 5 and all is ok
Should look a bit more like this:
(Im not sure if defining the environment variables on a global level work, maybe someone who knows can correct my answer here and simplify it)
As you can see, you have 2 services, mysql-server and drupal-web. Drupal-web links your database service. Both services have their own environment variables.
Map host port 4306 (or any other available port) to docker mysql 3306 like:
You should be able to connect to docker mysql with 127.0.0.1:4306