[Docker] docker compose 적용하기

jihun Choi·2023년 12월 9일
0
post-thumbnail

안녕하세요 오늘은 도커를 이용하여 docker compose를 진행해보도록 하겠습니다

간단한 docker compose를 진행하기 위해 mariaDb image와 nginx image를 가져와 docker compose 해보도록 하겠습니다 😎


먼저 docker compose를 진행하기 위해 아래 사진과 같이 프로젝트를 구성해 보았습니다

nginx 이미지 내 추가할 config 폴더내 파일들과 ssl 파일, 수정 해줄 nginx 파일을 넣어주고 config 폴더와 ssl 폴더 만들기 위해 dockerfile을 넣어주고 docker compose를 위한 구성요소들을 세팅해 둔 docker-compose.yml을 프로젝트에 넣어주었습니다

  • nginx 내 Dockerfile
FROM nginx

RUN mkdir -p /etc/nginx/config \
    && mkdir -p /etc/nginx/ssl \
EXPOSE 80 43300

docker를 실행할때 config 폴더와 ssl파일이 없으므로 mkdir 명령어를 통해 /etc/nginx 경로에 config 폴더와 ssl폴더를 넣어주는 명령어를 넣어주었습니다

  • docker-compose.yml
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 된것을 확인할수 있습니다 다음엔 더 재미있는 소재로 찾아뵙도록 하겠습니다

profile
성장을 위해 열심히 노력하는 개발자 입니다

0개의 댓글