본문 바로가기
LEARN/ERROR

[DOCKER] 도커 워드프레스 설치 Error establishing a database connection 지옥

by 아이엠제니 2024. 2. 26.

 

인프런 <초보를 위한 도커 안내서> 실습 中

 

 

 

인프런에서 <초보를 위한 도커 안내서>를 실습하다가, 도커로 워드프레스를 올리게 되는데?

정말 엄청난 에러를 만나게 되었다.

두둥...

 

 

Error establishing a database connection

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 

 

 

 

정말 많은 블로그들을 참고했지만, 해결이 되지는 않았다.

아니 심지어 인프런 해당 학습 질문방도 확인하고 또 확인했는데...

 

 

 

답은 해당 강의 커뮤니티 게시판의 고민있어요 에 있었다.

아니 왜 에러 해결이 고민에...

'고민있어요'에 있어서, 질문에 검색해도 검색이 되질 않으니 한참을 구글링과 네이버에 검색하며 헤매다가!

저분이 적어주신 'Wordpress db Error 해결' 글을 보고 해결했다.

나중에 알고 보니, 그다음 강의에서 설명하는 부분이었다...

그래도 감사합니다...

님이 저를 살리셨어요.

다음 진도를 안 빼고, 계속 찾다가 시간은 허비했지만...

아무튼 해결이 되어서 다행이다.

 

강의에서 강사님이 설치하는 것을 차근차근 따라가 보며, 기록 남기기.

 

도커는 이미 설치했다고 가정한다.

우분투는 로컬로 진행했다.

 

 

 


1. MySQL 실행

기존 명령어

docker run -d -p 3306:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD=true --name mysql mysql:5.7

 

변경 명령어

docker run -d -p 3303:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD=true --name mysql mysql:5.7

 

3306:3306 으로 되어있던 것을 3303:3306으로 변경했다.

  • 3303: 호스트 포트 (변경O)
  • 3306: 컨테이너 포트 (변경X)

이다.

3306을 이미 사용하고 있기 때문에, 충돌을 피하고자 port 변경을 해줬다.

 

 

 

2. MySQL 접속
docker exec -it mysql mysql

위 명령어를 입력해서 MySQL 접속한다.

그리고!

 

create database wp CHARACTER SET utf8;
grant all privileges on wp.* to wp@'%' identified by 'wp';
flush privileges;
quit

위 명령어들을 입력해서 데이터베이스 생성해 주고, db에 권한을 준다.

'flush privileges' 까지 해주고, quit로 빠져나온다.

 

 

 

3. Docker  컨테이너 네트워크 연결

그리고 중요한 게 바로 이 부분이다!!!

docker network create app-network

위 명령어를 입력한다.

그리고 그다음으로

 

docker network connect app-network mysql

위 명령어를 입력한다.

 

 

 

4. 워드프레스 블로그 실행

기존 명령어

docker run -d -p 8080:80 \
  -e WORDPRESS_DB_HOST=host.docker.internal \
  -e WORDPRESS_DB_NAME=wp \
  -e WORDPRESS_DB_USER=wp \
  -e WORDPRESS_DB_PASSWORD=wp \
  wordpress

 

변경 명령어

docker run -d -p 9000:80 \
 --network=app-network \
 -e WORDPRESS_DB_HOST=mysql \
 -e WORDPRESS_DB_NAME=wp \
 -e WORDPRESS_DB_USER=wp \
 -e WORDPRESS_DB_PASSWORD=wp \
 wordpress

이렇게 추가한 후 http://localhost:9000 으로 접속을 해보면!

 

 

 

 

그럼 이런 감격스러운 화면을 볼 수 있다.

와 정말...

몇 시간을 헤맨 것인지?

 

나중에 혹시 모르니, 참고해야겠다.

이후 계속 실습을 진해했는데, 짧은 강의를 따라 하면서도 계속 만나는 에러... ^^...

따라 한다고 다 되는 것이 아니라는 걸 역시나 느꼈다.

 

 

 

 

도커 강의 본 것은 노션에 정리를 했다.

노션 없이 못 살아...

정리를 깔끔하게 할 수 있는 끝판왕이다.

 

 

 

 

이런 식으로 정리를 하면서 따라 하고 있다.

사실 인강은 보다가, 다 못 보기도 하고...?

블로그 같은 곳에 정리는 꽤나 힘들다고 느꼈다.

근데 노션 단축키 쓰면, 정리도 꽤나 편하다.

회사에서도 노션으로 정리를 많이 하는 편이라서, 익숙 그 자체. (아마도)

 

아무튼 도커는 쿠버네티스로 가기 위한 과정...

쿠버네티스 강의 들으려고 했더니, 도커를 알아야 듣기 좋다고 하여 도커부터 듣는 중이다.

계속 열심히 하기.

 

 

 

300x250