I have a docker-compose container using a custom-built Wordpress image and the standard mysql image. here’s the compose file:
services: mysql: image: mysql:5.7 volumes: - dbdata:/var/lib/mysql - ./mysql/mydb.sql:/docker-entrypoint-initdb.d/mydb.sql restart: always environment: MYSQL_ROOT_PASSWORD_FILE: filelocation MYSQL_DATABASE: mydb MYSQL_USER: mysqluser MYSQL_PASSWORD_FILE: filelocation MYSQL_ROOT_HOST: '%' secrets: - mysql_root_password - mysql_password wordpress: depends_on: - mysql image: myimageurl:latest ports: - "8000:80" restart: always volumes: - type: bind source: ./wordpress/themes/mytheme target: /var/www/wordpress/wp-content/themes/mytheme - type: bind source: ./wordpress/tests target: /var/www/wordpress/tests - type: bind source: ./wordpress/plugins target: /var/www/wordpress/wp-content/plugins environment: WORDPRESS_DB_HOST: mysql WORDPRESS_DB_PORT: 3306 WORDPRESS_DB_USER: wordpress MYSQL_ROOT_HOST: '%'
This setup has been working flawlessly for me for about 2 years. I do
docker-compose up and it just works, with the Wordpress site at localhost:8000.
However we recently brought on a new developer and this setup doesn’t work at all on his machine. It’s a brand new Macbook. We bring up the app with
docker-compose up, and the output looks exactly the same, but attempting to bring up localhost:8000 just redirects to “localhost” (no port specified) and displays an error page. This happens in every browser.
The only difference we were able to find is that
docker ps shows an extra port for mySQL.
3306/tcp under PORTS for mysql, his shows
33060/tcp, 0.0.0.0:32769->3306/tcp for it, even though nothing is different with his Dockerfile or docker-compose. Help!