카테고리 없음

스파르타 AI-8기 TIL(12/29)-Docker

kimjunki-8 2024. 12. 29. 20:51

CI - 코드가 develop, 혹은 main에 병합하기 전, gradle test혹은 다른 자동화된 테스트를 통해, 에러가 있는지 점검하고, 병합할 지 안 할지를 결정하는 단계가 CI

CD - CI와 GIt에 있는 폴더들을 이용해서, 그것을 지속적으로 배포해준것이 CD

DockerFile - docker Image를 만들기 위한 파일. 파일, 위치, OS 정보등이 있다.

즉, 이러한것을 build를 해서 docker image로 변환시킨다. build를 하면 dockerfile에 있는 정보를 바탕으로 버전 다운, 위치 등을 알아서 실행한다.

Docker Container - 만들어진 docker image을 run하여 docker container를 실행 시킨다.

 

기본적인 dockerfile의 명령어들

그리고 이렇게 만들어진 file을 build한다

이렇게 말이다.

 

그리고 뭐다? run해서 container실행


Docker Compose란?
Docker Compose는 다중 컨테이너 애플리케이션을 정의하고 실행하기 위한 도구입니다.
단일 YAML 파일을 사용하여 여러 컨테이너를 정의하고, 이 컨테이너들을 함께 실행하거나 관리할 수 있도록 설계되었습니다.

Docker Compose의 주요 목적
다중 컨테이너 애플리케이션 관리
마이크로서비스 아키텍처에서 여러 컨테이너를 사용해 애플리케이션을 배포 및 실행.
YAML 파일을 통한 설정 관리
설정을 YAML 파일(docker-compose.yml)에 작성해 손쉽게 버전 관리와 배포 가능.
단순화된 명령어로 작업 실행
복잡한 docker run 명령어 대신, docker-compose up 등 간단한 명령어로 실행.

Docker Compose의 구성 요소
Docker Compose는 세 가지 주요 구성 요소로 이루어져 있습니다:

1. 서비스(services)
각 컨테이너를 정의.
애플리케이션의 기능별로 독립된 서비스를 설정.
예: web, database.

2. 네트워크(networks)
컨테이너 간 통신을 위한 네트워크 설정.
Compose가 자동으로 네트워크를 생성하거나 사용자 정의 네트워크를 사용.

3. 볼륨(volumes)
데이터를 지속적으로 저장하고 공유하기 위한 스토리지 설정.
컨테이너가 종료되어도 데이터를 유지.


그러면 어떻게 실행할 수 있을까?

1. 각 애플리케이션의 Dockerfile 작성하기 - 보통 만든 애플리케이션을 실행하기 위한 Dockerfile 만 작성
2. docker-compose.yaml 파일 작성하기 - 애플리케이션을 실행하기 위해 필요한 database, redis 등 다른 서비스들을 한꺼번에 정의하는 파일을 작성
3. docker compose up 으로 실행하기