docker 10

Docker Compose 환경에서 디버깅 모드 사용하는 법

docker-compose up db redisdb, redis만 도커 환경에 띄우고, app은 로컬에서 실행하면 디버깅 모드 사용 가능이때, yml 파일에서 db와 redis를 도커환경이 아니구 localhost로 변경해야 함ENV 파이 예시spring: datasource:# url: ${SPRING_DATASOURCE_URL} url: jdbc:postgresql://localhost:5432/playlist username: ${SPRING_DATASOURCE_USERNAME} password: ${SPRING_DATASOURCE_PASSWORD} data: redis:# host: ${REDIS_HOST:localhost} host: localho..

[TID] 개발환경 통일을 위해 Docker로 기본 환경 구성하기

필요한 파일1. Dockerfile: Spring Boot 앱을 컨테이너로 띄우기 위한 설정# 빌드 스테이지FROM gradle:8.14.3-jdk17 AS builderWORKDIR /appCOPY . .RUN gradle clean build -x test --no-daemon# 런타임 스테이지FROM eclipse-temurin:17-jdkWORKDIR /appCOPY --from=builder /app/build/libs/*.jar app.jarEXPOSE 8080ENTRYPOINT ["java", "-jar", "app.jar"]코드 설명줄의미선택 사항/고려FROM gradle:8.14.3-jdk17 AS builderGradle + JDK 17 이미지에서 빌드Gradle 버전, JDK 버전 선..

Docker 학습 로드맵

1. 컨테이너화가 필요한 이유2025.08.21 - [SPRING/이론] - [Docker] 컨테이너화가 필요한 이유 [Docker] 컨테이너화가 필요한 이유항목 설명 컨테이너 실행 중인 격리된 환경. 마치 작은 독립 서버처럼 작동 이미지 컨테이너 실행을 위한 정적인 패키지, 실행 설계도 장점 실행 속도 빠름, 경량, 이식성, 확장성, 환경 일관성foreverwon.tistory.com2. Docker 이해2025.08.21 - [SPRING/이론] - [Docker] Docker 이해 [Docker] Docker 이해1. Docker오픈소스 기반의 컨테이너 관리 플랫폼리눅스 컨테이너(LXC) 기술 기반으로 애플리케이션을 빠르고 일관되게 실행할 수 있도록 도와주는 표준화 도구복잡한 실행 환경 구성 없이 ..

[Docker] Docker Compose 활용

1. Docker Compose실제 개발/운영 환경은 보통 여러 컨테이너가 함께 동작하는데, 여러 개의 컨테이너를 관리하기 위해 사용선언형(Declarative) 설정 파일(docker-compose.yml) 하나로 전체 스택을 정의docker compose up -d 한 줄로 멀티 컨테이너를 실행/중지/정리네트워크/볼륨/환경변수/헬스체크 등 운영 설정을 표준화하여 재현성 확보서비스 간 DNS 서비스명으로 통신(별도 IP 관리 불필요)구분목적/역할작성 위치예시Dockerfile"이미지를 어떻게 만들 것인가"(빌드 레시피)앱 저장소FROM, COPY, RUN, ENTRYPOINTdocker run"이미지를 어떻게 실행할 것인가"(일회성 명령)터미널-p, -e, -v, --networkdocker-compo..

[Docker] Dockerfile과 이미지 빌드 및 배포

1. Dockerfile 작성개념Docker 이미지를 만들기 위한 명령어 모음작성한 명령어 순서대로 레이어 생성각 명령은 레이어를 만들고, 빌드 시 캐시 재사용됨위쪽 명령이 바뀌면 아래쪽 캐시가 전부 무효(cache bust)빈번히 바뀌는 파일(COPY 소스 등)은 아래쪽에 두면 빌드가 빠름기본 명령어명령어설명예시FROM기반이 되는 베이스 이미지를 지정FROM ubuntu:22.04RUN이미지 빌드 시 실행할 명령어RUN apt-get updateCOPY호스트의 파일/디렉토리를 이미지로 복사COPY . /appWORKDIR작업 디렉토리 지정WORKDIR /appCMD컨테이너 실행 시 기본 명령 지정CMD ["java", "-jar", "app.jar"]ENTRYPOINT실행 진입점 설정 (CMD와 병행 ..

[Docker] Docker의 네트워크와 볼륨

1-1. Docker 네트워크: 네트워크 종류와 특징개념컨테이너들이 서로 통신하거나, 컨테이너와 외부(인터넷, 로컬 PC)가 통신할 수 있도록 해주는 가상의 연결망컨테이너들을 연결하는 가상의 인터넷/사설망컨테이너는 기본적으로 격리된 환경에서 실행되기 때문에 네트워크 설정 없이는 서로 또는 외부와 통신 X네트워크 드라이버(Network Driver)를 통해 연결기본 네트워크 종류네트워크 타입 동작 방식 장점단점사용 예시bridge (기본)Docker가 가상 브릿지(스위치)를 만들고, 모든 컨테이너를 여기에 연결. 외부 접근은 포트 매핑 필요- 컨테이너 간 통신 가능- 외부 노출 제어 가능- 포트 매핑 안 하면 외부에서 접근 불가- 웹 서버 컨테이너 실행 후 -p 옵션으로 포트 노출- 로컬 개발환경에서 DB..

[Docker] 도커 컨테이너 명령어

1. Docker 컨테이너 명령어docker run : 컨테이너 실행이미지(Image)로부터 새로운 컨테이너를 만들고 실행# 가장 기본적인 예제# hello-world 이미지를 실행하여 Docker가 정상 동작하는지 테스트docker run hello-world# 백그라운드에서 실행하고, 이름을 지정하는 예제docker run -d --name my-container nginx# -d : 백그라운드 실행(detached)# --name : 컨테이너 이름 지정# nginx : 실행할 이미지 이름 명령설명docker run 이미지명이미지로 컨테이너 실행-d백그라운드 실행--name컨테이너 이름 지정-p포트 매핑docker ps : 컨테이너 상태 확인현재 실행 중인 컨테이너 목록# 실행 중인 컨테이너 목록do..

[Docker] Docker 이미지 명령어

1. Docker 이미지 명령어 정리docker pull : 이미지 다운로드원격 저장소의 docker 이미지를 로컬 환경에 다운로드컨테이너 실행 전에 해당 이미지가 필요할 때 가장 먼저 사용# BAD (운영 환경에서는 권장하지 않음)$ docker pull nginx# GOOD (명시적 버전 지정)$ docker pull nginx:1.25docker images : 이미지 목록 조회$ docker images출력REPOSITORYTAGIMAGE IDCREATEDSIZEnginxlatestabc12342 days ago142MBpython3.10def56785 days ago123MBREPOSITORY : 이미지 이름TAG : 버전 또는 태그IMAGE ID : 이미지의 고유 식별자 (SHA 값의 앞 12..

[Docker] Docker 이해

1. Docker오픈소스 기반의 컨테이너 관리 플랫폼리눅스 컨테이너(LXC) 기술 기반으로 애플리케이션을 빠르고 일관되게 실행할 수 있도록 도와주는 표준화 도구복잡한 실행 환경 구성 없이 단일 명령으로 동일한 환경을 제공# 예시: Dockerfile 기반으로 컨테이너 실행하기$ docker build -t my-app . # Dockerfile로부터 이미지 생성$ docker run -d -p 8080:8080 my-app # 생성된 이미지로 컨테이너 실행주요 구성요소이미지(Image): 실행 환경 전체를 코드처럼 패키징한 템플릿컨테이너(Container): 이미지 기반으로 실행되는 격리된 프로세스 환경Dockerfile: 이미지를 생성하기 위한 선언형 스크립트Docker CLI / Da..

[Docker] 컨테이너화가 필요한 이유

항목 설명 컨테이너 실행 중인 격리된 환경. 마치 작은 독립 서버처럼 작동 이미지 컨테이너 실행을 위한 정적인 패키지, 실행 설계도 장점 실행 속도 빠름, 경량, 이식성, 확장성, 환경 일관성 보장 핵심 도구 Docker CLI, Dockerfile, 이미지 레지스트리(Docker Hub 등) 실무 포인트 운영 환경, 개발 환경, 테스트 환경이 모두 다르더라도”컨테이너 안에서는 항상 동일하게 동작”함을 보장 1.컨테이너와 이미지의 개념컨테이너 운영체제 수준에서 격리된 실행 환경 컨테이너 내부에서 실행되는 애플리케이션은..

728x90