728x90
Dockerfile은 FROM부터 시작합니다!
# Dockerfile
# 베이스 이미지 설정
FROM python:3.9-slim
# 작업 디렉토리를 /app으로 설정
WORKDIR /app
# 필요한 패키지 설치
RUN apt-get update && apt-get install -y vim
# Flask 설치
RUN pip install Flask
# 파이썬 파일을 복사
COPY app.py .
# Flask 앱 실행
CMD ["python", "app.py"]
slim 이미지는 debian 운영체제 기반으로 크기는 60MB 정도입니다. 패키지 관리 시스템으로 apt-get을 사용합니다.
작업디렉토리를 /app으로 설정하면 루트 디렉토리 아래에 /app 디렉토리가 생성되고 그 안에서 작업이 일어나게 됩니다.
49a7909fce7f:/# ls
app bin dev etc home lib media mnt opt proc root run sbin srv sys tmp usr var
(리눅스의 기본 디렉토리와 함께 app 디렉토리가 있는 것을 확인할 수 있습니다)
COPY app.py . 명령어를 통해 /app 디렉토리 아래에 app.py 파일이 생성되는 것이죠
(app.py를 현재 디렉토리(.)로 카피한다는 뜻입니다)
# Dockerfile
# 베이스 이미지를 우분투22로 설정
FROM ubuntu:22
# 작업 디렉토리를 /app으로 설정
WORKDIR /app
# 필요한 패키지 설치
RUN apt-get update && apt-get install -y vim
# Flask 설치
RUN pip install Flask
# 파이썬 파일을 복사
COPY app.py .
# Flask 앱 실행
CMD ["python", "app.py"]
# Dockerfile
FROM alpine:latest
# 작업 디렉토리를 /app으로 설정합니다.
WORKDIR /app
# 필요한 패키지 설치
RUN apk update && apk add vim bash
# 파이썬 파일을 복사합니다.
COPY app.py .
# Flask 설치
RUN apk add py3-flask
# Flask 앱 실행
CMD ["python", "app.py"]
alpine 이미지는 alpine linux 운영체제를 기반으로 하며 크기는 5MB 정도입니다. apk 패키지 관리 시스템으로 하기 때문에 ubuntu나 slim과 명령어의 차이가 조금 있습니다.
py3-flask는 pip3와 python3 그리고 flask를 같이 설치합니다.
py3-flask가 alpine에서 flask 패키지 설치의 기본이므로 따로 파이썬 설치 명령어는 입력해주지 않습니다.
apk add bash를 해주는 이유는 alpine linux의 기본 셸이 bash 셸이 아니기 때문에 다로 설치가 필요하기 때문입니다!
728x90
'[Cloud] > [Docker]' 카테고리의 다른 글
[Docker] 도커 빌드 캐시 공유 가능한 명령어, 공유 불가 명령어 (2) | 2024.03.08 |
---|---|
[Docker] Docker cache 빠른 빌드 (0) | 2024.03.08 |
[Docker] 도커 기본 명령어 (2) | 2023.12.11 |
[Docker] 도커의 이미지, 컨테이너는 무엇일까? (2) | 2023.11.26 |