wordpressdockertable-plus

Connecting to my local docker Database Instance from Table Plus


I have created a local docker wordpress instance and I am trying to connect to the database with a SQL Client (in my case TablePlus) but I am having trouble.

I created the docker containers from a docker-compose.yml file shown here:

version: '3'

services:
   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: somewordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "8028:80"
       - "8029:8029"

     volumes:
       - ./themes/travelmatic:/var/www/html/wp-content/themes/yadayada


     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
       VIRTUAL_HOST: leasepilot.local

volumes:
    db_data:

I have tried any comibindation of wordpress and somewordpress in these fields: enter image description here

I also have the option to connect over SSH but I don't feel I would need to do that?

1) What is the best way to debug this type of issue? 2) What are the creds? lol


Solution

  • Just as David has suggested in his comment, you need to add port mapping in docker-compose.yml. So, your modified docker-compose.yml would be something like this:

    version: '3'
    
    services:
       db:
         image: mysql:5.7
         volumes:
           - db_data:/var/lib/mysql
         restart: always
         environment:
           MYSQL_ROOT_PASSWORD: somewordpress
           MYSQL_DATABASE: wordpress
           MYSQL_USER: wordpress
           MYSQL_PASSWORD: wordpress
         ports:
           - "3306:3306"   
       wordpress:
         depends_on:
           - db
         image: wordpress:latest
         ports:
           - "8028:80"
           - "8029:8029"
    
         volumes:
           - ./themes/travelmatic:/var/www/html/wp-content/themes/yadayada
    
    
         restart: always
         environment:
           WORDPRESS_DB_HOST: db:3306
           WORDPRESS_DB_USER: wordpress
           WORDPRESS_DB_PASSWORD: wordpress
           VIRTUAL_HOST: leasepilot.local
    
    volumes:
        db_data:
    

    And you have already provided the creds in the docker-compose.yml in environment variables.