Question

Docker Compose for WP and PHPMyAdmin

Posted December 6, 2016 25.1k views
PHP WordPress Docker Ubuntu 16.04

Hi,

I’m trying to have WordPress, MariaDB and PHPMyAdmin running on the same container.
Here my docker-compose.yml :

version: '2'
services:
  wordpress:
    image: wordpress:latest
    networks:
      - front
      - back
    ports:
      - 8080:80
    environment:
      WORDPRESS_DB_PASSWORD: examplepass
      WORDPRESS_DB_NAME: wpdb
      WORDPRESS_TABLE_PREFIX: wp_
      WORDPRESS_DB_HOST: wordpress_db
    volumes:
      - ./wordpress-data:/var/www/html
      - ./php/uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
  wordpress_db:
    image: mariadb:latest
    environment:
      MYSQL_ROOT_PASSWORD: examplepass
    volumes:
      - wordpress-db-data:/var/lib/mysql
    networks:
      - back
  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    networks:
      - back
    ports:
      - 8181:80
volumes:
    wordpress-db-data:
      driver: local
networks:
  front:
  back:

I can make all the services run well but I cannot login on PHPMyAdmin.
Any idea ?

2 comments

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

5 answers

Hi,

Im using the root user but when I hit the login button I have 3 error messages (red popup like on the login screen).

#2002 - php_network_getaddresses: getaddrinfo failed: Name does not resolve — The server is not responding (or the local server's socket is not correctly configured).

mysqli_real_connect(): php_network_getaddresses: getaddrinfo failed: Name does not resolve

mysqli_real_connect(): (HY000/2002): php_network_getaddresses: getaddrinfo failed: Name does not resolve

It seems to me that PMA cannot reach a database or something like that.

It’s working now.
I had to had the env variable PMA_HOST: wordpress_db.

So my final .yml file look like this.

version: '2'
services:
  wordpress:
    image: wordpress:latest
    networks:
      - front
      - back
    ports:
      - 8080:80
    environment:
      WORDPRESS_DB_PASSWORD: examplepass
      WORDPRESS_DB_NAME: wpdb
      WORDPRESS_TABLE_PREFIX: wp_
      WORDPRESS_DB_HOST: wordpress_db
    volumes:
      - ./wordpress-data:/var/www/html
      - ./php/uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
  wordpress_db:
    image: mariadb:latest
    environment:
      MYSQL_ROOT_PASSWORD: examplepass
    volumes:
      - wordpress-db-data:/var/lib/mysql
    networks:
      - back
  phpmyadmin:
    image: phpmyadmin/phpmyadmin:latest
    networks:
      - back
    ports:
      - 8181:80
    environment:
      MYSQL_USERNAME: root
      MYSQL_ROOT_PASSWORD: examplepass
      PMA_HOST: wordpress_db
volumes:
    wordpress-db-data:
      driver: local
networks:
  front:
  back:

I just logged in to say thank you for this bit:

PMA_HOST: wordpress_db

:)

Really useful! +100
Thanks :)

Thank you thank you thank you! That was the missing piece I needed as well…

PMA_HOST: wordpress_db
Submit an Answer