본문 바로가기
책곡책곡/그림과 실습으로 배우는 도커 & 쿠버네티스

CHAPTER 5. 워드프레스 구축

by 몌으니 2024. 11. 11.
그림과 실습으로 배우는 도커 & 쿠버네티스 (위키북스)

 

 

워드프레스 : 웹 사이트를 만들기 위한 소프트웨어, 서버에 설치해서 사용.

 

워드프레스는 워드프레스 컨테이너MySQL 컨테이너로 구성된다.

워드프레스는 블로그 생성 도구와 같은 것으로, 
웹 사이트 작성자가 작성한 내용을 DB에 저장하고, 웹 사이트 열람자의 요청에 따라 웹 페이지를 보여준다.

 

프로그램이 MySQL에 저장된 데이터를 읽고 쓸 수 있어야 하기 때문에 두 컨테이너가 연결돼 있어야 한다.

가상 네트워크를 만들고 이 네트워크에 두 개의 컨테이너를 소속시켜서 두 컨테이너를 연결한다.

 

도커 네트워크 생성하는 커맨드

docker network create 네트워크_이름

 

도커 네트워크를 생성하는 커맨드

옵션이나 인자를 추가하는 경우는 거의 없다.

 

도커 네트워크 삭제하는 커맨드

docker network rm 네트워크_이름

 

도커 네트워크를 삭제하는 커맨드

마찬가지로 옵션이나 인자를 추가하는 경우는 거의 없다.

 

MySQL 컨테이너 실행 시에 필요한 옵션과 인자

docker run  --name  컨테이너_이름  -dit  --net=네트워크_이름  -e  MYSQL_ROOT_PASSWORD=MySQL_루트_패스워드  -e  MYSQL_DATABASE=데이터베이스_이름  -e  MYSQL_USER=MySQL_사용자이름  -e  MYSQL_PASSWORD=MySQL_패스워드  mysql  --character-set-server=문자_인코딩  --collation-server=정렬_순서  --default-authentication-plugin=인증_방식

 

💡 참고

\  : 개행을 쓰면 터미널에서 깔끔하게 볼 수 있음!

 

사용된 옵션

--net : 컨테이너를 연결할 도커 네트워크 

나머지는 모두 -e 옵션 > *환경변수를 설정하기 위해 사용한다.

(* 환경변수란 운영체제에서 다양한 설정값을 저장하는 장소를 가리킨다. 컨테이너 설정값을 이 환경변수를 통해 전달하는 경우가 많다.

컨테이너의 종류에 따라 사용할 환경변수가 달라진다.

항목 옵션
네트워크 이름 --net
MySQL 컨테이너 이름 --name
실행 옵션 -dit
MySQL 루트 패스워드 -e MYSQL_ROOT_PASSWORD
MySQL 데이터베이스 이름 -e MYSQL_DATABASE
MySQL 사용자 이름 -e MYSQL_USER
MySQL 패스워드 -e MYSQL_PASSWORD
  • 패스워드는 루트 패스워드와 일반 사용자 패스워드 설정

 

사용된 인자

항목 인자 의미
문자 인코딩 --character-set-server= 문자 인코딩으로 UTF8을 사용
정렬 순서 --collation-server= 정렬 순서로 UTF8을 따름
인증 방식 --default-authentication-plugin= 인증 방식을 예전방식으로 변경

 

 

워드프레스 컨테이너 실행 시에 필요한 옵션과 인자

docker run  --name  컨테이너_이름  -dit  --net=네트워크_이름  -p 포트_설정   -e  WORDPRESS_DB_HOST=데이터베이스_컨테이너_이름  -e  WORDPRESS_DB_NAME=데이터베이스_이름  -e WORDPRESS_DB_USER=데이터베이스_사용자_이름  -e WORDPRESS_DB_PASSWORD=데이터베이스_패스워드  wordpress

 

사용된 옵션

항목 옵션
네트워크 이름 --net
워드프레스 컨테이너 이름 --name
실행 옵션 -dit
포트 번호 설정 -p
데이터베이스 컨테이너 이름 -e  WORDPRESS_DB_HOST
데이터베이스 이름 -e  WORDPRESS_DB_NAME
데이터베이스 사용자 이름 -e WORDPRESS_DB_USER
데이터베이스 패스워드 -e WORDPRESS_DB_PASSWORD

 

 

 

실습 화면

️💡도커 컨테이너 로그 보는법
> docker logs mysql000ex11
 
- default-authentication-plugin 옵션은 MySQL 9.1.0 버전에서는 더 이상 사용되지 않는다.


 

컨테이너를 생성한 후에는 뒷정리 하는 습관들이기!

 


문제 1 : MySQL 컨테이너의 옵션 값 채워넣기

docker run --name mysql000ex11 -dit --net=wordpress000net1 -e MYSQL_ROOT_PASSWORD=myrootpass -e MYSQL_DATABASE=wordpress000db -e MYSQL_USER=wordpress000kun -e MYSQL_PASSWORD=wkunpass mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --default-authentication-plugin=mysql_native_password

 

문제 2 : 워드프레스 컨테이너의 옵션 값 채워넣기

docker run --name wordpress000ex12 -dit --net=wordpress000net1 -p 8085:80 -e WORDPRESS_DB_HOST=mysql000ex11 -e WORDPRESS_DB_NAME=wordpress000db -e WORDPRESS_DB_USER=wordpress000kun -e WORDPRESS_DB_PASSWORD=wkunpass wordpress

 

 

볼륨 추가하기