➜ jupyter cat docker-compose.yml
version: '3'
services:
datascience-notebook:
image: jupyter/datascience-notebook:python-3.10.9
container_name: jupyter_notebook
hostname: jupyter-mlops-study
restart: always
volumes:
- ${PWD}/data/work:/home/jovyan # 주로 코드 저장
- ${PWD}/data/requirements:/tmp # 필요한 python library
ports:
- "8888:8888"
environment:
- JUPYTER_ALLOW_INSECURE_WRITES=true
networks:
mlops_study_network:
networks:
mlops_study_network:
name: mlops_study_network
external: true
docker-compose up명령 실행 시, jupyterlab
어느 파일 위치에 들어가서 docker-compose up 돌리느냐 중요
해당 파일은 2개의 서비스 db 및 adminer(데이터베이스 관리 도구)를 정의하고 있음
version: '3'
services:
db:
image: mariadb:10.8.2-rc-focal
container_name: mariadb
hostname: mariadb-mlops-study
volumes:
- ${PWD}/data/mlops_table_data:/tmp
- ${PWD}/data/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
restart: always
ports:
- "3306:3306"
environment:
MARIADB_ROOT_PASSWORD: root
networks:
- mlops_study_network
adminer:
image: adminer
container_name: mariadb_adminer
hostname: adminer-mlops-study
restart: always
ports:
- "8089:8080"
networks:
- mlops_study_network
networks:
mlops_study_network:
name: mlops_study_network
external: true
DB
Adminer
MariaDB 데이터가 저장될 host dir에 적절한 권한이 없어서 로그인이 안 되는 오류가 발생함
host dir 권한 수정하고 이전 data 정리하고 container 재생성하여 오류 해결
출처: MLOps 구축 가이드북: 초보자를 위한 ML 모델 서빙 준비하기 - 김남기