Docker 활용기1) - 로컬 개발 환경 구축하기
1. Why
- 개인적인 도커 공부를 위함도 있지만, 매번 개발 하다보면 이것저것 폴더가 생겨나 너무 싫다는 생각이 많았습니다. 코드는 github에서 계속 당겨 쓰면 되고, 개발 후 이미지만 날리면 되지 않을까 생각해서 구축해보았습니다.
2. 구축하기
1) 파이썬 Base 이미지 + Docker 명령어
(1) CMD 창 키기
(2) docker pull 명령어 입력
- 파이썬 버전별 명령어는 공식 사이트를 통해 확인 가능(python Tags | Docker Hub)
docker pull python:3.9
(3) docker image 명령어로 이미지 확인
docker images
- 이미지 삭제(이미지 ID 기준 - IMAGE ID / 단 해당 이미지 활용한 컨테이너 실행 중일 땐 삭제 불가)
docker rmi bc2e05bca883
(4) Visual Studio로 실행하기
-
Extension 2개 설치(Docker, Dev Containers)
-
도커 기호 클릭 후, 이미지 현황 확인한 뒤 Tag파트 오른쪽 마우스 클릭 후 ‘Run Interactive’ 선택
-
생성된 컨테이너 오른쪽 버튼 클릭 후, ‘Attach Visual Studio Code’ 선택
-
새 창 떳을때, ‘Open Folder’ 또는 ‘Clone Repository’ 클릭하여 환경 구성하기
-
‘Python Extension’ 설치
-
이 후에, Visual studio창 하단에 Python이 잡힌 것을 확인할 수 있는데, 버전이 좀 이상하다.
- 아마도 베이스 linux이미지에 내장된 파이썬으로 잡혔나보다.
- Visual Studio에서 설치된 Python 변경하듯이 원하는 버전의 Python으로 변경해주면 된다.
- 원하는 파이썬 버전 선택
- 실행 결과 확인
- 사용 주의 사항 : 버전 확인 또는 따로 가상 환경 세팅한 뒤, 사용할 것을 추천
- 파이썬이 여러 개 있기 때문에, Visual Studio Cmd창을 통해 버전 확인 후 라이브러리 설치
- 버전 확인
python --version
- 가상 환경 오픈 : my_project란 환경 오픈
python -m venv my_project
- 환경 변경 : 하단 python 버전 선택 후 마찬가지로 가상환경 선택
- 버전 확인
- 파이썬이 여러 개 있기 때문에, Visual Studio Cmd창을 통해 버전 확인 후 라이브러리 설치
2) 우분투 + 미니콘다 설치 + Dockerfile 활용
(1) Dockerfile 작성하기
# 우분투 이미지 가져오기
FROM ubuntu:latest
# 미니콘다 설치를 위해 wget 설치
RUN apt-get update && apt-get install -y wget bzip2
# 미니콘다 설치
RUN wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
RUN bash Miniconda3-latest-Linux-x86_64.sh -b -p /opt/miniconda
# 환경 변수 설정(conda 명령어 사용을 위해)
ENV PATH=/opt/miniconda/bin:$PATH
# conda 초기화
RUN /opt/miniconda/bin/conda init bash
(2) docker build
conda_env:private
는 이미지명, 태그로 알맞게 바꾸시면 됩니다.docker build -t conda_env:private .
(3) Visual Studio로 실행하기
- 상단의 Python 이미지 + 도커 명령어처럼 동일하게 실행
(4) Conda를 통해 가상환경 생성
(5) Conda 명령어
- 가상 환경 관리
conda create -n [환경 이름] python=[파이썬 버전]
: 새 가상 환경 생성conda activate [환경 이름]
: 가상 환경 활성화conda deactivate
: 가상 환경 비활성화conda env list
: 가상 환경 목록 보기conda env remove -n [환경 이름]
: 가상 환경 삭제conda create -n [새 환경 이름] --clone [기존 환경 이름]
: 가상 환경 복제conda env export > environment.yml
: 환경 파일 생성(가상환경 이관 시 유용)conda env create -f environment.yml
: 환경 파일로부터 환경 생성(가상환경 이관 시 유용)
- 패키지 관리
conda install [패키지 이름]
: 패키지 설치conda install -n [환경 이름] [패키지 이름]
: 특정 환경에 패키지 설치conda install -c [채널 이름] [패키지 이름]
: 특정 채널에서 패키지 설치conda update [패키지 이름]
: 패키지 업데이트conda update --all
: 모든 패키지 업데이트conda remove [패키지 이름]
: 패키지 삭제conda remove -n [환경 이름] [패키지 이름]
: 특정 환경에서 패키지 삭제conda list
: 설치된 패키지 목록 보기conda list -n [환경 이름]
: 특정 환경에 설치된 패키지 목록 보기
- 콘다 정보
conda --version
: 콘다 버전 확인conda info
: 콘다 정보 보기
댓글남기기