programing

Docker 컨테이너에서 실행 중인 Jupyter 노트북에 액세스합니다.

lovejava 2023. 9. 6. 21:42

Docker 컨테이너에서 실행 중인 Jupyter 노트북에 액세스합니다.

파이썬 라이브러리와 주피터로 도커 이미지를 만들었습니다.를e 옵션을 합니다.-p 8888:8888 , 와 의 를 합니다 합니다 를 의 와 .Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ localhost:8888(및 브라우저를 찾지 않음).했습니다 명령어를 했습니다.jupyter notebook

그러나 호스트에서 호스트의 브라우저에서 주피터와 함께 작업하기 위해 사용해야 하는 IP 주소는 무엇입니까?

과 명령어로 ifconfig, 찾았다구요eth0,docker,wlan0,lo...

감사합니다!

에서 노트북을 .0.0.0.0:jupyter notebook -i 0.0.0.0에서 실행하면 할 수 . localhost에서 실행하면 컨테이너 내부에서만 사용할 수 있습니다.

시스템: :docker run -it -p 8888:8888 image:version

: :jupyter notebook --ip 0.0.0.0 --no-browser --allow-root

이 이. 이 URL 이 localhost:8888/tree‌​

처음 로그인할 때 토큰으로 로그인할 수 있는 링크가 단말기에 표시됩니다.

docker run호스트 브라우저에서 연결을 허용하기 위해 컨테이너의 포트를 열려면 명령이 필수입니다. 포트를 -p로 도커 컨테이너에 할당하고, 주피터 이미지를 선택합니다.docker images.

docker run -it -p 8888:8888 image:version

컨테이너 내부에서 열린 포트를 할당하는 노트북을 실행합니다.

jupyter notebook --ip 0.0.0.0 --port 8888 --no-browser --allow-root

http://localhost:8888에서 데스크톱 브라우저를 통해 노트북에 액세스 노트북을 만들 때 생성된 토큰을 묻는 메시지가 나타납니다.

Jupyter 노트북 서버에 대한 링크를 가져오려면:

docker run명령어, 하이퍼링크가 자동으로 생성되어야 합니다.다음과 같습니다.http://localhost:8888/?token=f3a8354eb82c92f5a12399fe1835bf8f31275f917928c8d2 :: /home/jovyan/work

에 를 과 하시면 하시면 에 과 를 docker exec -it <docker_container_name> jupyter notebook list.

아래는 윈도우 7에서 도커 툴박스로 실행하는 방법입니다.

도커 도구 상자를 사용하는 경우 도커 퀵스타트 터미널을 열고 IP를 여기에 기록합니다.

docker is configured to use the default machine with IP 192.168.99.100
For help getting started, check out the docs at https://docs.docker.com

텐서플로 설치 웹사이트에서 도커 명령을 실행하면 다음과 같습니다.

docker pull tensorflow/tensorflow                  # Download latest image
docker run -it -p 8888:8888 tensorflow/tensorflow  # Start a Jupyter notebook server

다음과 같은 메시지가 나타납니다.

Copy/paste this URL into your browser when you connect for the first time,
to login with a token:
    http://127.0.0.1:8888/?token=d6e80acaf08e09853dc72f6b0f022b8225f94f

호스트에서 127.0.0.1을 192.168.99.100으로 바꾸고 나머지 URL을 사용합니다.

을 할 명령어를 할 수 .jupyter notebook --allow-root --ip[of your container]또는 옵션을 사용하여 모든 IP에 액세스할 수 있도록 합니다.--ip0.0.0.0.

자신만의 도커 이미지를 구축하는 대신 ML Workspace 이미지를 사용할 수도 있습니다.ML Workspace는 Jupyter, VS Code, Desktop GUI 및 기타 많은 툴과 라이브러리를 하나의 편리한 Docker 이미지로 결합한 오픈 소스 웹 IDE입니다.단일 워크스페이스 인스턴스 구축은 다음과 같이 간단합니다.

docker run -p 8080:8080 mltooling/ml-workspace:latest

모든 도구는 동일한 포트에서 접근할 수 있으며 Jupyter UI에 통합됩니다.자세한 설명서는 여기에서 확인할 수 있습니다.

컨테이너에서 다음을 실행하여 도커 컴퓨터의 IP 주소를 사용하여 로컬 컴퓨터에서 사용할 수 있습니다.

jupyter 노트북 --ip 0.0.0 --low-root

컨테이너의 설정에 따라 --allow-root 플래그를 제공할 필요가 없을 수도 있습니다.

docker run -i -t -p 88888:88888 continuumio/anaconda3 /bin/docket -c "/opt/conda install jupyter -y --mkdir & mkdir /opt/docket &/opt/conda/bin/docketter 노트북 --port=88888 --no-locket --low-root"

명령어에 --allow-root을 추가해야 했고 지금 실행 중입니다.

아래 Makefile은 이전 답변을 요약하고 JupyterDocker가 포트에서 일치하는지 확인합니다.jupyter에서 제공하는 링크를 클릭/복사만 하면 포트 불일치 문제가 해결됩니다.

사용하려면, 그냥.make jupyter아니면make jupyter PORT=xxxx적절한 폴더에서.그런 다음 주피터 출력에서 링크를 클릭합니다.

원격 컨테이너

컨테이너가 원격 호스트(예: AWS EC2)에 있는 경우 올바른 포트로 ssh 터널도 설정해야 합니다.예를 들어, 로컬 시스템에서:

ssh -N -f -L localhost:8888:localhost:8888 username@remote-host

하지만 적어도 포트를 수동으로 일치시킬 수 있는 곳은 딱 곳입니다.

메이크파일

# Set your default jupyter port here. 
# Avoid 8888 if you run local notebooks on that!
PORT=8888
# Your app root in the container.
APP_DIR=/app
# The docker image to launch.  *** SET TO YOUR image:version! ***
APP_TAG=image:version

jupyter: ##
    ## Launch jupyter notebook from our container, mapping two folders
    ##    Local          Container       Notes
    ##    -----------------------------------------------------
    ##    ./data      -> /data           Put data here!
    ##    ./notebooks -> /notebooks      Find notebooks here!
    ##    -----------------------------------------------------
    ## Arg:  PORT - specify port [${PORT}]
    docker run \
        -p $(PORT):$(PORT) \
        -v $(PWD)/notebooks/:$(APP_DIR)/notebooks/ \
        -v $(PWD)/data:/data \
        $(APP_TAG) \
        jupyter notebook --ip 0.0.0.0 --port $(PORT) \
          --no-browser --allow-root

도커에 들어가서 확인합니다.cat /etc/jupyter/jupyter_notebook_config.py:

  • 다음 줄을 보거나 추가해야 합니다.

c.NotebookApp.allow_origin = 'https://colab.research.google.com'

언급URL : https://stackoverflow.com/questions/38830610/access-jupyter-notebook-running-on-docker-container