Docker로 Xampp와 WordPress를 설치해서 블로그를 구축

이번에는 Docker로 xampp를 설치하고 나서, xampp에 wordpress를 설치해서 블로그를 만들어보겠습니다.
2021.08.04

안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 Docker로 xampp를 설치하고 나서, xampp에 wordpress를 설치해서 블로그 페이지를 만들어보겠습니다.

이전에 집필한 Docker 블로그는 아래 링크를 참고해주세요.

XAMPP 설치

docker run --name WP -p 80:80 -d tomsik68/xampp

먼저 tomsik68/xampp 라는 이미지를 다운 받습니다.

설치가 완료된 후, 127.0.0.1로 들어가보면 xampp가 잘 설치된 것을 볼 수 있습니다.

WordPress 설치

xampp 설치가 끝났다면, 이번에는 WordPress 설치를 해보겠습니다. 먼저 구글에서 wordpress downalod를 검색해서 가장 상단에 있는 페이지로 들어갑니다. 그리고 downalod.tar.gz에 마우스 오른쪽 클릭을 눌러서 복사합니다.

wget https://ko.wordpress.org/latest-ko_KR.tar.gz

그리고 wget을 이용해서 다운로드를 합니다.

tar -xf latest-ko_KR.tar.gz

이 후, 압축을 풀어야하는데 tar 파일을 압축을 풀 때는 tar 옵션을 줘서 풀어야 합니다. 리눅스에서 tar, tar.gz 압축 및 해제에 대해서는 여기를 참고해주세요.

sudo docker exec -it WP bash
chown daemon. /opt/lampp/htdocs
cd /opt/lampp/htdocs
ls
mkdir backup
mv * ./backup/
ls

그리고 bash로 xmapp로 접속합니다. 다운로드 받은 WordPress가 index로 화면에 나와야 하기 때문에 backup 파일을 만들어 기존에 있는 파일을 정리 할 필요가 있습니다.

docker cp wordpress WP:/opt/lampp/htdocs
sudo docker exec -it WP bash
cd opt/lampp/htdocs
ls
cd wordpress
mv * ../
ls
cd ..
ls

그런 다음 현재 로컬에 있는 wordpress 폴더 파일을 xampp 컨테이너 내부로 옮겨줍니다. 그리고 htdocs로 wordpress 파일들을 전부 옮깁니다.

이제 127.0.0.1로 접속해보면 아까와는 다른 페이지가 뜨게 됩니다. 여기서 부터 WordPress를 설정하면 됩니다.

WordPress 설정

「다음으로 이동」을 누르게 되면 데이터베이스 정보를 입력하는 페이지가 나옵니다. xampp를 다운받았기 때문에, 데이터베이스는 phpmyadmin에서 설정하면 됩니다.

phpmyadmin으로 접속한 다음 데이터베이스를 하나 만들어 줍니다.

그리고 다시 이전 페이지로 돌아가서 설정한 데이터베이스 이름과 호스트를 입력해주고 나머지는 본인이 원하는대로 사용자 이름 등등을 입력해주면 됩니다.

입력이 끝나고, 다음으로 넘어가면「설치 실행하기」버튼이 나옵니다. 그대로 눌러주면 됩니다.

사이트 제목, 사용자 이름, 비밀번호 등등 항목들은 본인이 원하는 대로 입력을 해주고 설치하기 버튼을 클릭합니다.

이제 WordPress의 모든 설정이 끝났습니다. 이제 로그인 버튼을 눌러 WordPress에 접속 해봅시다!

WordPress 접속 테스트

로그인 화면에서는 방금 설정한 아이디와 비밀번호로 로그인 해줍니다.

로그인 하게 되면 관리자 페이지로 접속하게 되고, 여기서 블로그를 디자인하면 됩니다.

본 블로그 페이지로 가고싶다면 127.0.0.1로 접속하면 됩니다.

Docker Hub에 WordPress 이미지를 업로드

docker stop WP
docker commit WP jaewook/wordpress
docker images

이제 구축한 WordPress 이미지를 Docker Hub에 올려봅시다. 먼저 기존에 실행중이던 xampp 컨테이너를 정지 시킵니다.그리고 WP 컨테이너를 커밋 해주고 images 목록을 살펴보면 정상적으로 커밋 된 것을 확인할 수 있습니다.

docker login
docker push jaewook/wordpress

그리고 Docker Hub에 로그인한 다음, push 명령어로 이미지를 업로드 해줍니다.

docker rm `docker ps -a -q`
docker run -d -p 80:80 --rm jaewook/wordpress

마지막으로 기존 컨테이너를 삭제하고, run 명령을 통해 업로드한 이미지를 다운로드합니다.

그리고 다시 127.0.0.1로 들어가면 잘 작동하는 것을 볼 수 있습니다.

Docker Hub에도 정상 업로드 된 것을 확인할 수 있습니다.

참고