개요 Docker Compose는 다중 컨테이너로 구성된 어플리케이션을 관리하기 위한 도구입니다. YAML 파일에 어플리케이션의 서비스를 구성하고 단일 명령으로 실행합니다. 먼저, 저는 Docker Desktop과 docker-compose를 미리 설치해놓은 환경에서 진행함을 알립니다. 프로세스 Docker Compose는 기본적으로 3단계의 프로세스로 구성되어 있습니다. 1. 어플리케이션의 환경을 Dockerfile로 정의 2. 격리된 환경에서 함께 실행 할 수 있도록 앱을 구성하는 서비스를 docker-compose.yml 파일에 정의 3. docker-compose up 명령어로 실행하면 전체 앱을 시작하고 실행 실습을 위해 간단한 웹 서버를 구현하고 위 프로세스를 진행 해보겠습니다. 폴더 구조 일..
환경변수 설정법 .env 파일에 환경변수를 작성하면 별다른 설정 없이도 간단히 docker-compose.yml 에서 접근 할 수 있다. docker-compose.yml shop-api-db: image: postgres restart: always container_name: shop-api-db environment: - POSTGRES_USER=${POSTGRES_USER} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - POSTGRES_DB=${POSTGRES_DB} ports: - ${POSTGRES_PORT}:${POSTGRES_PORT} networks: - shop-api-networks NGINX 환경변수 바인딩 아래 예시처럼 environment 옵션에 환..
개요 도커란 컨테이너라는 하나의 소프트웨어 유닛 안에 어플리케이션의 구동에 필요한 구성이나 종속성등을 패키징해서 다른 어떤 환경에서도 어플리케이션이 안정적으로 구동될 수 있게 해주는 기술이다. 가상머신과 컨테이너의 차이 가상머신(Virtual Machine: VM)은 컨테이너에 비해 가상머신 유닛마다 OS가 설치되어 어플리케이션이 구동되는데에 시간이 오래걸리고, 용량이 크며 서버의 자원을 낭비한다. 컨테이너는 컨테이너 엔진이 설치된 호스트의 OS를 공유하여, VM에 비해 구동 시간이 빠르고 용량이 작으며 서버의 자원 낭비를 줄일 수 있다. 도커의 3대 구성요소 DockerFile 컨테이너에 설치해야하는 패키지, 소스코드, 명령어, 환경변수설정 등을 기록한 하나의 파일이다. 이를 빌드하면 하나의 Image..