🔥스파르타 TIL (Docker) 4

Dockerfile과 docker-compose.yml

Docker 생태계에서 애플리케이션을 정의하고 관리하는 데 매우 중요한 파일이다. Dockerfile은 Docker 이미지를 빌드하기 위해 사용되는 파일이다.애플리케이션을 컨테이너화하여서 배포 or 실행하려면, Docker 이미지가 있어야 하는데, Dockerfile을 사용하여 이미지를 위한 모든 의존성, 환경 설정, 실행 명령어 등을 지정할 수 있다.Docker 이미지의 구성 요소를 정의한다.각 명령어는 이미지의 새로운 계층을 형성하는데, 이미지의 변경 사항을 효율적으로 관리할 수 있다.이미지를 빌드한 후, 이미지를 다른 환경에서도 동일하게 사용할 수 있다.# 베이스 이미지 지정FROM python:3.8-slim-buster# 작업 디렉토리를 설정WORKDIR /app# 의존성 파일을 복사하고 설치C..

Docker 제대로 시작하기

컨테이너는 Docker 이미지를 실행한 상태입니다. 이미지가 정적인 템플릿이라면, 컨테이너는 실제로 애플리케이션이 실행되는 동적인 환경입니다.컨테이너는 격리된 공간에서 애플리케이션을 실행하며, 필요한 모든 의존성을 포함합니다.하나의 시스템에서 여러 개의 컨테이너를 독립적으로 실행할 수 있습니다.docker run -d --name postgres-sample \-p 5433:5432 \-e POSTGRES_USER=admin \-e POSTGRES_PASSWORD=admin \-e PGDATA=/var/lib/postgresql/data/pgdata \-v /home/bsg/sample1:/var/lib/postgresql/data:z \postgres-d : 백그라운드에서 실행-name : 컨테이너 이..

Docker를 배워보자

. jar 파일과 같이 실행되지 않는 os이다. 라이브러리와 기타 종속성에 대한 정의, 실행되는 코드가 포함되어 있다.애플리케이션과 관련된 모든 파일과 라이브러리를 포함하고 있기 때문에 다른 환경에서도 동일한 애플리케이션을 실행할 수 있다.이미지가 한 번 생성되면 변경할 수 없다.도커 이미지는 필요한 파일만 포함하고 있기 때문에 용량이 적다. 만약 이미지를 변경해야 한다면 새로운 이미지를 생성해야 한다. Registry/ dockerhub에 저장되어 있는 image를 pull 하고 Container를 run 하게 된다.Dockerfile로 image를 build 하고 dockerhub에 push를 할 수도 있다. 또는 자신의 Container에서 run 할 수 있다.cd ~mkdir {하위 디렉토리}cd..

CI/CD와 Docker 란?

CI (Continuous Integration) : 지속적 통합 ▼모든 개발자들이 작성한 코드를 정기적으로 통합하는 것을 말한다.코드 통합 시 발생할 수 있는 충돌을 신속하게 발견하고, 테스트 자동화를 통해 버그를 초기에 발견해서 해결한다.코드를 commit 하면 CI서버가 이를 감지한다 → CI서버는 빌드 및 자동화된 테스트를 실행한다 → 테스트를 통과하지 못하면 알림이 전달된다.CD (Continous Deployment) : 지속적 제공 ▼CI 이후의 단계로, 코드 변경 사항이 테스트를 통과한 후 자동으로 배포되는 것이다.사용자에게 새로운 기능과 버그 수정을 신속하게 제공한다.배포를 자동화하여 수동 작업에서 발생할 수 있는 오류를 줄이고, 개발과 배포의 일관성을 유지한다.테스트를 통과한 코드 변경..