안녕하세요 오늘은 도커를 이용하여 docker compose를 진행해보도록 하겠습니다
간단한 docker compose를 진행하기 위해 mariaDb image와 nginx image를 가져와 docker compose 해보도록 하겠습니다 😎
먼저 docker compose를 진행하기 위해 아래 사진과 같이 프로젝트를 구성해 보았습니다
nginx 이미지 내 추가할 config 폴더내 파일들과 ssl 파일, 수정 해줄 nginx 파일을 넣어주고 config 폴더와 ssl 폴더 만들기 위해 dockerfile을 넣어주고 docker compose를 위한 구성요소들을 세팅해 둔 docker-compose.yml을 프로젝트에 넣어주었습니다
FROM nginx
RUN mkdir -p /etc/nginx/config \
&& mkdir -p /etc/nginx/ssl \
EXPOSE 80 43300
docker를 실행할때 config 폴더와 ssl파일이 없으므로 mkdir 명령어를 통해 /etc/nginx 경로에 config 폴더와 ssl폴더를 넣어주는 명령어를 넣어주었습니다
version: "3.8"
services:
nginx:
build: ./nginx
image: nginx
container_name: nginx_ex
ports:
- "80:80"
- "443:443"
volumes:
- ./nginx/nginx.conf:/etc/nginx/nginx.conf
- ./nginx/config:/etc/nginx/config
- ./nginx/ssl:/etc/nginx/ssl
mariadb:
build: ./mariaDB
image: mariadb
container_name: mariadb_ex
ports:
- "3306:3306"
environment:
- MARIADB_ROOT_PASSWORD=1234
docker-compose.yml에서 nginx에 필요한 포트와 수정할 파일들을 셋팅해 두었고 mariadb에 필요한 포트와 환경변수를 셋팅하였습니다 세부 설정 속성은 이전 게시글에서 설명했으므로 생략하도록 하겠습니다
인텔리제이에서 터미널을 키고 docker 프로젝트 경로에서 docker compose up 명령어를 치면 컨테이너가 생성됩니다
docker desktop에서 nginx_ex와 mariadb_ex 컨테이너가 켜진것을 확인할수 있습니다
nginx_ex 컨테이너의 파일에 들어가보면 ssl폴더와 config폴더가 생성된것을 확인할수 있고 nginx.conf 파일이 mount 된것을 확인할수 있습니다 다음엔 더 재미있는 소재로 찾아뵙도록 하겠습니다