본문 바로가기
CS/Docker

docker container 를 이용한 mysql기반 wordpress 로 블로그 만들기 2 - MAC book 에서 다시 실행한 docker desktop

by Warehaus 2022. 3. 15.

 

 

안녕하세요 warehouse입니다.

이전에 실패했던 wordpress 로 블로그 만들기..

 

 

[CS/Docker] mysql기반으로 동작하는 wordpress 만들어 보기 1

안녕하세요 Warehouse 입니다. 오늘은 도커를 이용해서 mysql, wordpress image를 켜서 블로그를 생성 해 봤습니다. Docker 책과 강의를 시작하면서 Mysql 기반 word process를 만들어 보다 요즘 C++ 과 Python..

armin.tistory.com

 

윈도우 도커 환경의 문제인지.. 잘 모르겠어서 부랴부랴 맥북에 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

 

[CS/Docker] 도커 볼륨 - Docker volume

2022.02.25 - [CS/Docker] - [도커] docker 컨테이너 목록 출력하기 / 실행 중인 컨테이너 확인 명령어 [도커] docker 컨테이너 목록 출력하기 / 실행 중인 컨테이너 확인 명령어 이번에는 docker 명령어를 이용

armin.tistory.com

 

2022.02.24 - [분류 전체보기] - [도커] docker run 과 create 명령어 차이점, 사용하기

 

[도커] docker run 과 create 명령어 차이점, 사용하기

Docker 컨테이너를 생성하는 명령어는 두 가지가 있습니다. 바로 docker run 과 docker create 인데요. 어떤 차이가 있길래 명령어를 구분해서 사용하는지 알아보려고 합니다. Docker run 우선 docker run을 실

armin.tistory.com