windows 환경에서 Docker를 실행할 작업이 생겼습니다.
windows local에 있는 어느 폴더와 docker container간 파일을 주고받으며 이 파일을 파이썬으로 처리하는 작업을 수행합니다
Dockerfile 작성
container는 ubuntu base로 python이 설치된 환경으로 생성하였습니다.
# Ubuntu 최신 버전을 기반 이미지로 사용
FROM ubuntu:latest
# 패키지 목록 업데이트 및 필요한 패키지 설치
# --no-install-recommends 옵션 추가
RUN apt-get update && apt-get install -y \
git \
vim \
python3 \
python3-pip \
&& rm -rf /var/lib/apt/lists/* # apt-get clean과 유사
# 작업 디렉토리 설정
WORKDIR /workspace
# 컨테이너 시작 시 실행될 명령어
# 여기서는 bash 쉘을 실행하도록 설정합니다.
CMD ["bash"]
Docker Image Build
docker build -t ubuntu_custom .
Docker Container 실행
이 부분이 자칫 헷갈릴 수 있는 부분입니다.
'C:\CPImage'라는 경로와 바인딩하기 위해 wsl에서는 해당 경로를 '/mnt/c/CPImage'로 접근할 수 있습니다.
그리고 ubuntu container의 '/app'경로와 바인딩하는 예시입니다.
docker run -d --name ubuntu_container -v /mnt/c/CPImage:/app ubuntu_custom tail -f /dev/null
각 경로에서 파일을 서로 생성해보면 조회가 되는 것으로 정확히 바인딩 된 것을 확인할 수 있습니다
'Data infrastructure > Docker' 카테고리의 다른 글
Windows WSL2 설치와 활성 (0) | 2024.04.11 |
---|---|
python 코드에 import된 패키지 목록 추출하기 : pipreqs 와 requirements.txt (0) | 2023.09.13 |
Dockerfile - Ubuntu 내에서 python 설치가 된 container 생성 (0) | 2023.09.13 |