https://product.kyobobook.co.kr/detail/S000001766500
위의 책을 참고하였습니다.
워드프레스가 데이터를 저장하고 관리하기위해
데이터베이스 관리시스템인 MySQL을 사용해 저장된 데이터를 읽고 쓸 수 있어야 한다.
워드 프레스와, MySQL 두 개의 컨테이너를 만들고 연결하는 방법에 대해서 포스팅한다.
1. 도커 네트워크 생성
도커 네트워크를 생성한 다음에 컨테이너에서 네트워크에 접속하게 설정한다.
docker network create wordpress000net1
2. MySQL 컨테이너 생성 및 실행
docker run --name 컨테이너이름 -dit --net=네트워크이름
-e MYSQL_ROOT_PASSWORD=MYSQL root 사용자 비밀번호
-e MYSQL_DATABASE = 데이터베이스 이름
-e MYSQL_USER = 데이터베이스 사용자
-e MYSQL_PASSWORD=MYSQL 비밀번호
mysql --character-set-server=utf8mb4 (문자인코딩방식)
--collation-server=utf8mb4_unicode_ci (정렬순서)
--default-authentication-plugin=mysql_native_password(인증방식)
책 예제
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
3. wordpress 컨테이너 생성 및 실행
docker run --name 컨테이너 이름 -dit -net=네트워크이름 -p 포트설정
-e WORDPRESS_DB_HOST=데이터베이스 컨테이너 이름
-e WORDPRESS_DB_NAME=데이터베이스 이름
-e WORDPRESS_DB_USER=데이터베이스 사용자 이름
-e WORDPRESS_DB_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
mysql 컨테이너의 이름은 mysql000ex1이고, 워드프레스 컨테이너를 생성할 때, WORDPRESS_DB_HOST 에 이 mysql 컨테이너이름이 들어가야한다. WORDPRESS_DB_NAME에 MYSQL_DATABASE인자 값이 똑같이 들어가야한다
두 컨테이너를 연결하기위해서는 도커네트워크가 필요하므로 --net 인자에 생성한 도커네트워크의 값을 넣는다.
4. 컨테이너 상태 확인
ubuntu 호스트 포트 8085를 컨테이너 포트 80으로 포워딩한다.
http://localhost:8085/ 를 입력하면 컨테이너 포트인 80으로 포워딩되고, 워드프레스 초기화면을 볼 수 있다.
포트 3306은 MySQL 데이터베이스로 오는 외부 접속을 연결해주는 포트이다.
'devops > docker' 카테고리의 다른 글
[docker] pytorch 컨테이너 생성 후 컨테이너 안에서 jupyter lab 실행 (0) | 2023.04.17 |
---|---|
WSL2 ubuntu 22.04 인스턴스에 docker 설치 에러 (Cannot connect to the Docker daemon) (0) | 2023.04.15 |
맥 도커(docker) 설치 (0) | 2021.10.07 |