--- 디렉터리 구조

- project

  - app.py

  - Dockefile


--- app.py

import lumi from Lumi


def add(a, b):

    return a + b


app=Lumi()

app.register(add)

app.runServer(host="0.0.0.0", port=8080)


--- ubuntu 

apt update

apt install -y python3

pip install lumi

python3 app.py


--- Dockerfile (방법 1)

FROM ubuntu:18.04


RUN apt update

RUN apt install -y python3

RUN pip install lumi


COPY ./add.py .


CMD [ "python3", "app.py" ]


--- Dockerfile (방법 2)

FROM python:3.10


RUN pip install lumi


COPY ./app.py .


CMD [ "python3", "app.py" ]


--- 빌드

docker build .

출력: $ sha:abcd

abcd 부분은 매번 다름


--- 실행

docker run --rm -p 18080:8080 sha:abcd


--- 요청

cmd.exe

curl -X POST -H "Content-Type: application/json" -d "{\"a\": 1, \"b\": 2 }" http://localhost:18080/add


--- 확인

{ ...생략... "result" : 3 ...생략... }

이런식의 응답이 오면 성공


ubuntu 에서 실행한 명령과 dockerfile에 작성한걸 잘 비교하면 이해가능