Docker - 애플리케이션과 Apache 서버 이미지 만들기

2025. 6. 17. 20:46·Docker

FastAPI 애플리케이션을 Docker 이미지로 만들기

우분투 베이스 이미지 사용

Dockerfile

실행 명령어

docker build -t fastapi-ubuntu -f Dockerfile-Ubuntu .
docker run -d -p 8000:8000 fastapi-ubuntu

파이썬 베이스 이미지 사용

Dockerfile

실행 명령어

docker build -t fastapi-python -f Dockerfile-Python .
docker run -d -p 8001:8000 fastapi-python

 

아파치 웹 서버 컨테이너 구축

Dockerfile

실행 명령어

docker build -t apache-web -f Dockerfile-Apache .
docker run -d -p 8080:80 apache-web

 

http://localhost:8000/hello.html

다단계 도커 빌더

main.go

 

Dockerfile

빌드 단계 (1단계: builder)

  • 이 단계에서는 실제로 go build -o app 명령이 실행됩니다.
  • 결과로 app 실행 파일이 생성되고, 이 파일은 /app/app 경로에 존재합니다.
  • 하지만 이 1단계 이미지는 최종 컨테이너에서 사용되지 않습니다.

실행 단계 (2단계 최종 이미지)

  • 최종 이미지는 alpine처럼 가볍고 필요한 것만 포함된 베이스 이미지에서 시작합니다.
  • 여기서 COPY --from=builder 명령을 통해 빌더 스테이지에서 만든 app 실행파일만 복사합니다.
  • 즉, 빌드 도구(go 등)는 전혀 포함되지 않고, 실행에 필요한 최소 실행파일만 남습니다.

 

실행 명령어

docker build -t go-multi -f Dockerfile-MULTI .
docker run go-multi

 

실행 결과

 

단계 내용

1단계 (builder) Go로 애플리케이션 빌드 (컴파일 포함)
2단계 (최종 이미지) 빌드된 실행파일(app)만 가져와서 실행에 사용
결과 이미지 용량 감소, 빌드 도구 제외로 보안성 향상

 

 

 

 

'Docker' 카테고리의 다른 글

Docker - 네트워크와 Compose로 컨테이너 연결하기  (0) 2025.06.18
Docker - 데이터 관리(Volume, Bind Mount)  (1) 2025.06.18
Docker - RUN, CMD, ENTRYPOINT, EXPOSE 명령어 차이  (0) 2025.06.17
Docker -i, -t, -d 옵션  (2) 2025.06.16
Docker - Dockerfile을 이용한 도커이미지 빌드  (0) 2025.06.16
Docker - 설치 & 컨테이너 실행  (0) 2025.06.16
'Docker' 카테고리의 다른 글
  • Docker - 데이터 관리(Volume, Bind Mount)
  • Docker - RUN, CMD, ENTRYPOINT, EXPOSE 명령어 차이
  • Docker -i, -t, -d 옵션
  • Docker - Dockerfile을 이용한 도커이미지 빌드
jaeon.cloud
jaeon.cloud
  • jaeon.cloud
    JEONG JAE ON
    jaeon.cloud
  • 전체
    오늘
    어제
    • 분류 전체보기 (60)
      • Docker (8)
      • Cloud (7)
      • AWS (14)
      • Network (9)
      • Linux (1)
      • Python (7)
      • Javascript (3)
      • React (5)
      • Project (3)
      • Kubernetes (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    docker
    클라우드
    react
    AWS
    3-tier Architecture
    http
    네트워크
    lambda
    Python
    cors
    kubernetes
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
jaeon.cloud
Docker - 애플리케이션과 Apache 서버 이미지 만들기
상단으로

티스토리툴바