[도커] 워드 프레스 구축

워드 프레스 사이트 구축

  • 웹 사이트를 만들기 위한 소프트웨어로서, 서버에 설치하여 사용함.
  • 워드프레스 사이트 구축을 위하여 워드프레스 프로그램, 웹서버(아파치), DB(Mysql), PHP 런타임이 필요하다.

구성요소

  • 워드프레스(본체)
  • 아차피
  • PHP 런타임
  • MySQL

필요 구성요소

  • 워드프레스 컨테이너
  • MySQL 컨테이너

워드 프레스 동작을 위해서는 두 개의 컨테이너가 필요하고, 가상 네트워크를 통해 서로 통신이 가능해야함.

도커 네트워크 생성

  • docker network create 네트워크_이름
    • 새로운 도커 네트워크를 생성함
    • 추가 옵션이나 인자는 일반적으로 필요하지 않다.

도커 네트워크 삭제

  • docker network rm 네트워크_이름
    • 지정한 도커 네트워크를 삭제함
    • 추가 옵션이나 인자는 일반적으로 필요하지 않다.

기타 도커 네트워크 관련 명령어

  • connect: 컨테이너를 네트워크에 연결합니다.
  • disconnect: 컨테이너의 네트워크 연결을 해제합니다.
  • create: 네트워크를 생성합니다.
  • inspect: 네트워크의 상세 정보를 확인합니다.
  • ls: 네트워크 목록을 확인합니다.
  • prune: 현재 아무 컨테이너도 접속하지 않은 네트워크를 모두 삭제합니다.
  • rm: 지정한 네트워크를 삭제합니다.

도커 워드 프레스 컨테이너 생성

docker run --name wordpress_container_name -dit --net=network_name -p port_mapping -e WORDPRESS_DB_HOST=db_container_name -e WORDPRESS_DB_NAME=db_name -e WORDPRESS_DB_USER=db_user -e WORDPRESS_DB_PASSWORD=db_password wordpress

사용된 옵션 설명

  1. --name
    • 컨테이너의 이름을 설정한다.
  1. -dit
    • 컨테이너를 백그라운드에서 실행하고
    • 터미널 입력을 가능하게 한다.
      • -d 는 detached-mode
      • -i 는 interactive
      • -t 는 pseudo-tty
  1. --net
    • 컨테이너가 연결될 네트워크 지정함
  1. -p
    • 호스트와 컨테이너 간의 포트 매핑을 설정함

옵션 항목 및 설정값

항목옵션설정값 예시
네트워크 이름- - networdpress000net1
워드프레스 컨테이너 이름- - namewordpress000ex12
실행 옵션- dit(없음)
포트 번호 설정-p8085:80
데이터베이스 컨테이너 이름-e WORDPRESS_DB_HOSTmysql000ex11
데이터베이스 이름-e WORDPRESS_DB_NAMEwordpress000db
데이터베이스 사용자 이름-e WORDPRESS_DB_USERwordpress000kun
데이터베이스 패스워드-e WORDPRESS_DB_PASSWORDwkunpass

실습

네트워크 생성

docker network create wordpress000net1

커맨드

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

워드프레스 컨테이너 생성 및 실행

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

컨테이너 상태 확인

docker ps

워드프레스 접근 체크

http://localhost:8085

컨테이너 종료

docker stop wordpress000ex12
docker stop mysql000ex11

컨테이너 삭제

docker rm wordpress000ex12
docker rm mysql000ex11

이미지 삭제

docker image rm wordpress
docker image rm mysql

네트워크 삭제

docker network rm wordpress000net1

삭제 확인

docker ps -a, docker image ls, docker network ls


Uploaded by N2T