8888:8888 에서 뒤에 있는 8888포트는 컨테이너의 포트
앞 8888 포트는 받겠다는 포트
8000번 포트로 접근 하겠다.
docker pull python:3.8
docker pull tensorflow/tensorflow
docker pull tensorflow/serving
/workspace/jupyter-app/Dockerfile 내용
FROM tensorflow/tensorflow
WORKDIR /workspace
COPY . /workspace
RUN pip install -r requirements.txt
EXPOSE 8888
CMD ["jupyter", "notebook", "--ip", "0.0.0.0", "--port", "8888", "--allow-root", "--NotebookApp.token='password'"]
ctrl o :저장
ctrl x : 나가기
/workspace/jupyter-app/requirements.txt 내용
jupyter
그 후 컨테이너 빌드
docker build -t jupyter-app
docker run -d -p 8888:8888 -v $(pwd):/workspace --name jupyter-app-container -t jupyter-app
그 후 주소창에 localhost:8888 입력 시 주피터 노트북 접속
모델 학습 후 디렉토리 위치에 저장
docker run -d -p 8501:8501 -v $(pwd)/model_weight:/models/fashion_model -e MODEL_NAME=fashion_model --name tf-serving-container -t tensorflow/serving
컨테이너 생성 후 inspect bridege 를 통해, docker container network 요소 파악 후 tf-serving-container IP와 연결
위에서 만든 path에 아래와 같은 형식으로 들어감
v(n)/models/{name}:predict
위에 훈련된 모델의 결과 값을 도출 가능
파이썬에서 만든 Dockerfile을 build해줌 이름은 app-img로 하겠다
docker build -t app-img .
빌드 한 이미지를 컨테이너로 만들어줌
docker run -d -p 8000:8000 -v $(pwd):/workspace --name app-container -t app-img
FASTAPI 컨테이너 안에 들어가기
docker exec -it app-container bash