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 |