천상나타의 일상다반사

닫기 검색결과 전체 보기

    Dockerfile에서 Python venv 자동 활성화하기

    IT/JAVA 2025. 9. 23. 13:43

    일반적으로 Python 가상환경을 쓸 때는 아래처럼 source venv/bin/activate로 활성화해야 합니다.

    python3 -m venv venv
    source venv/bin/activate

    지만 Dockerfile에서는 ENV PATH를 잘 설정해두면, 매번 activate 하지 않아도 가상환경이 기본 파이썬으로 동작하도록 만들 수 있습니다.

    1. Dockerfile 예시

    FROM ubuntu:24.04
    
    # python3 설치
    RUN apt update && apt install -y python3 python3-venv python3-pip
    
    # 가상환경 생성
    RUN python3 -m venv /venv
    
    # PATH 및 환경변수 설정
    ENV PATH="/venv/bin:${PATH}" \
        LD_LIBRARY_PATH="/usr/local/lib:${LD_LIBRARY_PATH}" \
        PYTHONIOENCODING=UTF-8
    
    # 필요한 패키지 설치 (venv 내부 pip가 기본으로 실행됨)
    RUN pip install --no-cache-dir python-mecab-ko

     

    2. 동작 원리

    • python3 -m venv /venv → /venv/bin/python, /venv/bin/pip 생성
    • ENV PATH="/venv/bin:${PATH}" → 컨테이너 안에서 python, pip 실행 시 /venv/bin/ 경로가 우선 적용됨
    • 따라서 source /venv/bin/activate 없이도 자동으로 가상환경이 활성화된 상태처럼 동작함

     

    3. 확인 방법

    RUN which python
    RUN which pip
    
    
    ...
    /venv/bin/python
    /venv/bin/pip

    즉, 가상환경이 항상 기본 Python으로 동작합니다 ✅

    728x90

    'IT > JAVA' 카테고리의 다른 글

    파이썬 jupyterlab command 설명 및 실행  (0) 2023.08.23
    파이썬 GPU CUDA Torch를 이용한 확인  (0) 2023.08.23
    spring에서 특정 프로퍼티가 없으면 빈이 등록되지 않는 어노테이션 - @ConditionalOnProperty  (2) 2023.05.08
    디자인 패턴 : 팩토리 메서드(Factory Method) 에서 대해서 알아보자.  (0) 2023.04.19
    자바 리스트(ArrayList)와 배열(Array)의 차이점 3가지  (0) 2018.06.05
    'IT/JAVA' 관련 글 more
    • thumbnail
      파이썬 jupyterlab command 설명 및 실행 2023.08.23
    • thumbnail
      파이썬 GPU CUDA Torch를 이용한 확인 2023.08.23
    • thumbnail
      spring에서 특정 프로퍼티가 없으면 빈이 등록되지 않는 어노테이션 - @ConditionalOnProperty 2023.05.08
    • thumbnail
      디자인 패턴 : 팩토리 메서드(Factory Method) 에서 대해서 알아보자. 2023.04.19
    Posted by 천상나타.

Naver Neighborhood

    최근...

  • 포스트
  • 댓글
  • 더 보기

글 보관함

«   2026/11   »
일 월 화 수 목 금 토
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

카테고리

분류 전체보기 (414)
IT (143)
JAVA (20)
JSP (5)
NoSql (8)
Linux (5)
javaScript (14)
Oracle (7)
MySql (2)
Android (1)
Spring (8)
Server (26)
System (14)
Tool (33)
공부자료(비공개) (0)
일상 (259)
맛집 (69)
국내여행 (21)
해외여행 (32)
우리집 고양이 쪼꼬 (4)
디저트&야식 (49)
영화 후기 (2)
제품리뷰 (5)
추천노래 (3)
취미 (74)
다이어트 (0)
유용한정보 (10)
블로그팁 (8)
지역정보 (1)
자격증 (1)

카운터

Total
Today
Yesterday
  • 네이버 이웃추가
  • 방명록
개인정보처리방침
천상나타.'s Blog is powered by daumkakao
블로그 이미지

천상나타의 일상다반사

IT정보공유 및 일상다반사

  • 네이버 이웃추가
  • 방명록

관리자 메뉴

  • 관리자 모드
  • 글쓰기
  • 분류 전체보기 (414) N
    • IT (143) N
      • JAVA (20)
      • JSP (5)
      • NoSql (8)
      • Linux (5)
      • javaScript (14) N
      • Oracle (7)
      • MySql (2)
      • Android (1)
      • Spring (8)
      • Server (26) N
      • System (14)
      • Tool (33) N
      • 공부자료(비공개) (0)
    • 일상 (259)
      • 맛집 (69)
      • 국내여행 (21)
      • 해외여행 (32)
      • 우리집 고양이 쪼꼬 (4)
      • 디저트&야식 (49)
      • 영화 후기 (2)
      • 제품리뷰 (5)
      • 추천노래 (3)
      • 취미 (74)
      • 다이어트 (0)
    • 유용한정보 (10) N
      • 블로그팁 (8) N
      • 지역정보 (1)
      • 자격증 (1) N

카테고리

PC화면 보기 티스토리 Daum

티스토리툴바