본문 바로가기
Cloud/Docker

mysql 기반 wordpress 컨테이너 배포하기

by 민휘 2023. 4. 22.

 

순서

  1. mysql 컨테이너 실행
  2. wordpress 컨테이너 실행, link 컨테이너이름:호스트이름

 

mysql 이미지로 데이터베이스 컨테이너를 생성하고 실행했다. 이때 컨테이너 내부의 환경변수로 필요한 데이터베이스 이름과 루트 계정의 비밀번호를 -e 옵션으로 넘겨주었다.

 

docker run -d --name wordpressdb \\
	-e MYSQL_ROOT_PASSWORD=password \\ 
	-e MYSQL_DATABASE=wordpress \\
	mysql

 

wordpress 이미지로 워드프레스 웹 서버 컨테이너를 생성하고 실행했다. 웹 서버는 mysql을 사용하므로 DB 사용에 필요한 환경변수를 넘겨주고, link 옵션으로 다른 컨테이너에 alias로 접근 가능하도록 설정했다. 포트 포워딩은 컨테이너 쪽 포트를 80번으로 지정했다. 바인딩되는 호스트의 포트는 시스템이 지정한다. docker ps -로 바인딩된 주소를 확인할 수 있다.

docker run -d \\
	-e WORDPRESS_DB_HOST=mysql \\
	-e WORDPRESS_DB_USER=root \\
	-e WORDPRESS_DB_PASSWORD=password \\ 
	--name wordpress \\
	--link wordpressdb:mysql \\
	-p 80 \\
	wordpress \\

 

잘 띄워진 모습!

 

run 명령어의 옵션을 알아보자.

  • -d : 백그라운드로 동작한다. 컨테이너 내부에서 프로그램이 시작되어야 한다.
  • -e : 컨테이너 실행에 필요한 환경변수 세팅
  • —link : 컨테이너는 재실행될 때마다 다른 내부 IP를 받는다. 그래서 다른 컨테이너를 참조할 때 IP가 아닌 컨테이너의 별명으로 접근한다. 컨테이너이름:호스트이름으로 설정하면 해당 컨테이너에서 다른 컨테이너를 호스트 이름으로 접근할 수 있다.
  • exec : 실행되고 있는 컨테이너 내부에 명령어를 실행하여 결과값을 받는다.

'Cloud > Docker' 카테고리의 다른 글

컨테이너 로깅, 컨테이너 자원 할당 제한  (0) 2023.04.22
도커 네트워크  (0) 2023.04.22
도커 볼륨  (0) 2023.04.22
컨테이너 포트 포워딩  (0) 2023.04.22
컨테이너 생성과 실행, 쉘 접속, 목록 확인, 삭제  (0) 2023.04.22