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
mysql-server:
image: mysql
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: drupal
MYSQL_USER: drupal
MYSQL_PASSWORD: drupal
And then connect to the database in Sequel Pro using:
user: root
password: root
host: localhost
port: 3306
If you already have a local mysql database running on your host, change the port
ports:
- "4306:3306"
and then connect to port 4306
instead of 3306
. Be aware, from the Drupal container, you will still use 3306