파이썬 도커 기본 이미지를 활용하여 jupyter notebook을 사용할 수 있는 도커 컨테이너를 생성하는 방법에 대해 정리해보고자 한다.
$ docker pull python:3.9
# docker run: python:3.9 도커 이미지에 새로운 도커 컨테이너를 생성할게
# --name: 컨테이너이름은 python_3_9 로 만들게
# -dt: 컨테이너는 백그라운드에서 실행시킬거고(-d), 터미널을 사용할 수 있게 해줘(-t)
$ docker run --name python_3_9 -dt python:3.9
# docker exec: execute, python_3_9 도커 컨테이너로 진입할게
# -it: 터미널을 통해 입출력이 가능하게 해줘
# /bin/bash: bash 쉘(shell)을 사용할거야
$ docker exec -it python_3_9 /bin/bash
$ pip3 install jupyter
jupyter를 설치한 컨테이너의 상태를 유지하기 위해 컨테이너를 이미지화한다.
(해당 명령어는 호스트(Mac) 쉘에서 입력한다.)
# docker commit 컨테이너이름(또는 컨테이너ID) 생성할이미지이름:태그
docker commit python_3_9 python_jupyter:3.9
# docker run: python_jupyter:3.9 도커 이미지에 새로운 도커 컨테이너를 생성할게
# --name: 컨테이너이름은 python_jupyter_3_9 로 만들게
# -p: 도커 컨테이너 내부에서 컨테이너포트로 리스닝하고 있는 서버를
# 호스트 컴퓨터에서 호스트포트로 접속할 수 있도록 설정할게
# 호스트포트:컨테이너포트
# -dt: 컨테이너는 백그라운드에서 실행시킬거고(-d), 터미널을 사용할 수 있게 해줘(-t)
$ docker run -p 0431:8888 --name python_jupyter_3_9 -dt python_jupyter:3.9
$ docker exec -it python_jupyter_3_9 /bin/bash
$ jupyter notebook password
$ jupyter notebook --no-browser --allow-root --ip=0.0.0.0 --port=8888
http://localhost:0431
또는 http://127.0.0.1:0431