Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- Multi-Layer Perceptron
- dl
- mlops
- f1-score
- object detaction
- 상호 정보량
- Python
- convolution
- nn.Module
- 벡터 간 유사도
- pytorch
- py4e
- 동시발생 행렬
- CBOW
- pythonForEverybody
- docker
- 시소러스
- Gated Recurrent Unit
- Linear algebra
- 선형대수
- 차원 감소
- skip-gram
- Long Short Term Memory
- Charlse Severance
- excel
- deep learning
- 파이썬
- GoogLeNet
- 분포 가설
- 1x1 Convolution
Archives
- Today
- Total
Tech & TIL
Docker 튜토리얼 [파이썬] - 1 본문
Build you Python image
흔히 "도커 이미지를 말아서 어쩌구 저쩌구"라는 표현을 쓴다.
Overview
준비사항
- Python 3.8 이상
- Docker running locally. installation
- Visual Studio Code
Sample application
Flask framework를 사용하는 간단한 파이썬 애플리케이션을 만들어보자.
먼저 로컬에 python-docker
라는 이름의 폴더를 만들고 간단한 웹서버를 만들기 위해 아래 스텝을 따라해보자.
$ cd /path/to/python-docker
$ pip3 install Flask
$ pip3 freeze | grep Flask >> requirements.txt
$ touch app.py
VS Code를 열어서 python-docker
디렉토리에 app.py
를 생성하고 아래의 코드를 추가해준다.
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, Docker!'
Test the application
제대로 동작하는지 확인해보자.
$ python3 -m flask run
이제 http://localhost:5000
링크에 접속하면 'Hello, Docker!'가 출력되는 것을 확인할 수 있다.
Create a Dockerfile for Python
애플리케이션이 제대로 동작하고 있다면, Dockerfile
을 만들어보자. 파일명은 반드시 Dockerfile
로 해야하는 것은 아니지만 Official Docs에서 Dockerfile로 만드는 것을 권장하고 있다. 도커 파일 내부의 코드는 여기에서 확인해보자.
# syntax=docker/dockerfile:1
FROM python:3.8-slim-buster
WORKDIR /app
COPY requirements.txt requirements.txt
RUN pip3 install -r requirements.txt
COPY . .
CMD [ "python3", "-m" , "flask", "run", "--host=0.0.0.0"]
여기까지 완료했다면 directory structure는 아래와 같다.
python-docker
|____ app.py
|____ requirements.txt
|____ Dockerfile
Build an image
이미지를 말아보자.
docker build --tag python-docker
완료가 되었다면 docker images
명령어로 제대로 생성되었는지 확인해보자.
Tag Images
이미지 태그를 바꿔보자.
현재 python-docker의 태그가 latest로 되어있을텐데 이것을 v1.0.0으로 변경해보자.
docker tag python-docker:latest python-docker:v1.0.0
결과를 보면 아래와 같은데, TAG은 다르지만 Image ID는 같다.
이미지를 지우고 싶다면
docker rmi python-docker:v1.0.0
지금까지 도커 이미지를 마는 방법에 대해 알아보았고 다음 포스팅에서는 이미지를 컨테이너로 실행하는 방법에 대해 알아보자.
Reference
'MLOps' 카테고리의 다른 글
Docker 문법 정리 (0) | 2022.05.09 |
---|---|
Docker 튜토리얼 [파이썬] - 2 (0) | 2022.05.09 |
Comments