hgk0404
hgk0404.tistory
hgk0404

공지사항

전체 방문자
오늘
어제
  • 전체 카테고리 N
    • [컴퓨터비전] N
    • [Computer Science]
      • [컴퓨터네트워크]
      • [알고리즘]
      • [자료구조 in C]
      • [C & C++]
      • [이산수학]
      • [Math]
    • [머신러닝]
      • [Numpy, Pandas]
    • [Cloud]
      • [AWS]
      • [NCP]
      • [Kubernetes]
      • [Terraform]
    • [Dev]
      • [가상환경]
      • [Linux]
      • [Docker]
    • [Python]
    • [Coding Test]
      • [백준]
      • [프로그래머스]
      • [SQL]
    • [WEB]
    • [자격증, 일상]
    • [엑셀]
    • [금융]

인기 글

최근 글

최근 댓글

250x250
hELLO · Designed By 정상우.
hgk0404

hgk0404.tistory

[Dev]/[Docker]

[Docker] 도커파일 기본설정 ubuntu, alpine, python:3.9-slim

2024. 3. 5. 16:14
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
저작자표시 동일조건 (새창열림)

'[Dev] > [Docker]' 카테고리의 다른 글

[Docker] 도커 빌드 캐시 공유 가능한 명령어, 공유 불가 명령어  (2) 2024.03.08
[Docker] Docker cache 빠른 빌드  (0) 2024.03.08
[Docker] 도커 기본 명령어  (2) 2023.12.11
[Docker] 도커의 이미지, 컨테이너는 무엇일까?  (2) 2023.11.26
'[Dev]/[Docker]' 카테고리의 다른 글
  • [Docker] 도커 빌드 캐시 공유 가능한 명령어, 공유 불가 명령어
  • [Docker] Docker cache 빠른 빌드
  • [Docker] 도커 기본 명령어
  • [Docker] 도커의 이미지, 컨테이너는 무엇일까?
hgk0404
hgk0404
공부기록

티스토리툴바