• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    미해결

wordpress Error establishing a database connection 오류뜨시는 분들

21.08.30 21:42 작성 조회수 1.01k

2

mysql 접속 포트 변경해주셨다면

wordpress 이미지 run 해주실 때 아래와 같이 internal뒤에 :port 번호 적어주시면 됩니다!

WORDPRESS_DB_HOST=host.docker.internal:[mysql 변경한 port]

답변 2

·

답변을 작성해보세요.

1

MH님의 프로필

MH

2021.11.04

저도 같은 오류로 워드프레스 접속이 안됩니다.

3306포트를 이미 사용중인것으로 확인되어 mysql포트를 아래와 같이 변경하여서 사용하여도

결국 같은 에러가 표시 됩니다.

제가 초심자라 되도록이면 커맨드 변경은 mysql 포트 번호를 3306으로 한 것과
워드프레스 포트에 :3301 이 밖에는 건드리지 않았습니다.
어디가 잘못 된 것인지 잘 모르겠습니다.

docker run -d -p 3301:3301 \

  -e MYSQL_ALLOW_EMPTY_PASSWORD=true \

  --name mysql \

  mysql:5.7

 

docker exec -it mysql mysql

create database wp CHARACTER SET utf8;

grant all privileges on wp.* to wp@'%' identified by 'wp';

flush privileges;

quit

 

 

 

docker run -d -p 8080:80 \

  -e WORDPRESS_DB_HOST=host.docker.internal:3301\

  -e WORDPRESS_DB_NAME=wp \

  -e WORDPRESS_DB_USER=wp \

  -e WORDPRESS_DB_PASSWORD=wp \

  wordpress

안녕하세요!

mysql 컨테이너를 실행한 명령어 중 -p 옵션이 3301:3301로 지정하신걸 볼 수 있습니다.

앞의 3301은 host(docker를 실행한 서버)의 포트이고 뒤에 3301은 컨테이너(mysql)의 포트를 의미합니다.

따라서 3301:3301은 호스트의 3301을 컨테이너의 3301로 연결되었고 컨테이너의 3301은 오픈되지 않은 포트이기 때문에 연결이 되지 않습니다.

따라서 3301:3306으로 변경하여 호스트의 3301을 컨테이너(mysql)의 오픈되어 있는 3306으로 연결해야 정상적으로 접근이 가능합니다.

감사합니다!

0

안녕하세요!

친절한 설명 감사합니다.

말씀하신대로 port를 변경하였다면 환경변수도 변경이 필요합니다.

감사합니다!