안녕하세요 warehouse입니다.
이전에 실패했던 wordpress 로 블로그 만들기..
윈도우 도커 환경의 문제인지.. 잘 모르겠어서 부랴부랴 맥북에 docker desktop을 설치하고 다시한번 시도해 봤습니다.
Mysql 기반으로 wordpress blog만들기
준비과정은 이전과 동일하고 환경만 윈도우에서 Mac OS로 변경되었습니다.
AWS에서 돌려볼까도 잠시 고민했지만.. 제 맥북환경에서도 안되면 시도해 보는걸로...
아무튼 명령어는 동일하게 mysql docker container를 생성 해 줍니다.
mysql run
기존에 사용했던 명령어 그대로 입니다.
비밀번호는 간단하게 pw로 사용하였고, 처음 구성 된 환경이다보니 이미지를 다운로드받아 설치하는 결과를 볼 수 있습니다.
$ docker run -d --name wordpressdb -e MYSQL_ROOT_PASSWORD=pw -e MYSQL_DATABASE=wordpress mysql:5.7
Unable to find image 'mysql:5.7' locally
....
Digest: sha256:5c6f1132190256d1ee63afc3bb383c890e8cb9f547bb1f8f15fecaa2a78e7de0
Status: Downloaded newer image for mysql:5.7
9cabaf8794bc700393518a7a6fea3de1a2b22ba392c076bb51962fb05ad859f2
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9cabaf8794bc mysql:5.7 "docker-entrypoint.s…" 22 seconds ago Up 21 seconds 3306/tcp, 33060/tcp wordpressdb
mysql db 를 실행하고 docker ps 명령어로 확인까지 해 봤습니다.
wordpress container run
이제 wordpress container를 실행 할 차례입니다.
$ docker run -d -e WORDPRESS_DB_PASSWORD=pw --name wordpress --link wordpressdb:mysql -p 80 wordpress
Unable to find image 'wordpress:latest' locally
latest: Pulling from library/wordpress
....
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
301f468875a9 wordpress "docker-entrypoint.s…" About a minute ago Up About a minute 0.0.0.0:57697->80/tcp wordpress
9cabaf8794bc mysql:5.7 "docker-entrypoint.s…" 4 minutes ago Up 4 minutes 3306/tcp, 33060/tcp wordpressdb
mysql database container와 wordpress서비스 container 모두 올라와 있는 상태임을 확인했습니다.
그리고 docker ps명령어로 호스트 포트가 어떻게 연결되었는 지도 보았습니다.
wordpress는 현재 57697 포트로 연결되어 있는 것으로 보이니 해당 포트로 접속을 시도 해 봅니다.
흠.. 여전하네요
무엇이 문제일까요?
Docker desktop log 의 확인, 문제해결
docker desktop console을 체크해봅니다.
에러 메시지가 보이시나요?
2022-03-08T16:09:56.055054Z 2 [Note] Access denied for user 'example username'@'172.17.0.3' (using password: YES)
password는 입력되는 것으로 보이는데 username이 문제가 있는 것으로 유추됩니다.
그래서 wordpress 이미지를 지우고 아래와 같이 다시 시작해 주었습니다.
$ docker run -d --name wordpressdb -e MYSQL_ROOT_PASSWORD=pw -e MYSQL_DATABASE=wordpress mysql:5.7
b7d989a6efb4b17b908331a3d0e888ac0cc67e131993433131707bf6e401d39d
$ docker run -d -e WORDPRESS_DB_PASSWORD=pw -e WORDPRESS_DB_USER=root --name wordpress --link wordpressdb:mysql -p 80 wordpress
980e699cd9253a5a18b3a091f4426088a707a969dba52ba618fbdae099f9be68
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
980e699cd925 wordpress "docker-entrypoint.s…" 4 seconds ago Up 3 seconds 0.0.0.0:58755->80/tcp wordpress
b7d989a6efb4 mysql:5.7 "docker-entrypoint.s…" 28 seconds ago Up 27 seconds 3306/tcp, 33060/tcp wordpressdb
그리고 확인.. (58755 포트)
차이는 단 하나입니다.
WORDPRESS_DB_USER 환경변수는 root 로 설정한 것이죠.
mysql 에서 MYSQL_ROOT_PASSWORD 를 pw로 정했는데 계정을 root 로 접근하지 않아서 발생한 문제로 보여집니다.
대부분의 예시가 WORDPRESS_DB_USER에 대한 언급이 없는데요, 문제없이 실행 가능하신 분과 어떤 차이가 있는지 알 수 가 없습니다.
저와 동일한 문제를 겪으시는 분이 계시다면 WORDPRESS_DB_USER 의 설정을 진행해 보시는 것을 추천드리면서
글을 마무리하겠습니다.
2022.03.06 - [CS/Docker] - [CS/Docker] 도커 볼륨 - Docker volume
2022.02.24 - [분류 전체보기] - [도커] docker run 과 create 명령어 차이점, 사용하기
'CS > Docker' 카테고리의 다른 글
docker log 확인하는 방법 / docker logs 명령에서 tail, since 사용하는 방법 (0) | 2022.04.15 |
---|---|
도커 볼륨 (Docker volume) 명령어를 활용한 데이터 보존 방법 (0) | 2022.03.17 |
[CS/Docker] 도커 볼륨 - Docker volume (0) | 2022.03.06 |
[CS/Docker] mysql기반으로 동작하는 wordpress 만들어 보기 1 (0) | 2022.03.05 |
[Docker] ssh 사용 시 "Permissions for *.pem are too open" / UNPROTECTED PRIVATE KEY FILE 오류 / Windows에서 ec2 ssh 안될 때 pem 키 권한 수정 (0) | 2022.03.01 |