이미 3306을 로컬에서 사용하고 있어서 mysql컨테이너와 연결을 3307:3306으로 하였기에 문제가 발생 한 걸로 추정된다.
워드 프레스의 db 연결의 포트를 3307로 재설정하면 해결될 것으로 추정된다.
MySQL 컨테이너 포트 3307을 외부로 노출하고 내부에서는 기본 포트 3306 사용한다.
-> 즉 로컬의 3307포트와 컨테이너의 3306을 연결 시켰다는 의미이다.
docker run -d -p 3307:3306 --env MYSQL_ALLOW_EMPTY_PASSWORD=true --name mysql mysql:5.7
워드프레스 컨테이너
포트 8080을 외부로 노출하고, 내부에서는 기본 포트 80 사용한다.
docker run -d -p 8080:80 -e WORDPRESS_DB_NAME=wp -e WORDPRESS_DB_USER=wp -e WORDPRESS_DB_PASSWORD=wp wordpress
워드프레스 컨테이너의 포트설정을 아래처럼 바꾸면 된다.
docker run -d -p 8080:80 -e WORDPRESS_DB_HOST=host.docker.internal:3307 -e WORDPRESS_DB_NAME=wp -e WORDPRESS_DB_USER=wp -e WORDPRESS_DB_PASSWORD=wp wordpress
워드프레스 컨테이너에서 MySQL 컨테이너로의 연결은 로컬 머신을 거쳐서 이루어진다.
워드프레스는 host.docker.internal:3307
을 통해 MySQL에 접근하며 이는 로컬 머신의 3307 포트로 연결되어 있고 다시 MySQL 컨테이너의 3306 포트로 연결된다.