【오류 해결】 Jupyter/Jupyter Lab에서 Docker에서 마운트되지 않을 때
4147 단어 JupyterLabMac도커Jupyter
소개
Jupyter Lab을 Docker로 환경 구축
기사에서 JupyterLab을 Docker로 환경 구축하려고했습니다.
sudo docker run \
--rm \
-e TZ=Asia/Tokyo \
-p 8888:8888 \
--name jupyterlab \
-v $(pwd)/code:/code \
jupyterlab:latest \
start.sh jupyter lab --NotebookApp.password="sha1:xxxxxxxxxxxxxxxxxxxxxxxx"
이 근처에서, 아무래도 환경을 구축할 수 없다···
라는 것도 -v
옵션은自分のディレクトリ:コンテナ側のディレクトリ
그리고 디렉토리 내용을 동기화할 수 있는 것입니다만, 아무래도 동기화를 할 수 없었습니다.
자신의 환경이 Mac인 것도, 도중에 조작 실수를 실시하고 있었을 가능성도 있습니다.
이번에는 그 안에서 배운 것을 정리해 갑니다.
컨테이너 내에서 조사
우선
docker run --rm --name test -it jupyterlab:latest bash
이 명령으로 jupyterlab 이미지를 test라는 컨테이너 이름으로 만들고 bash로 연결해 보겠습니다.
이 컨테이너 내에서
echo $HOME
그렇다면/home/jovyan이 홈처럼 보입니다.
-v에 주는 디렉토리를 변경해 보기
결론부터 말하면, 자신의 경우 -v $(pwd):/home/jovyan/code
이나 -v $(pwd)/code:/home/jovyan/code
라고 하는 것으로 잘 되었습니다.
거기까지 오른쪽 왕곡이 있었지만 ...
docker run -v `pwd`:/home/jovyan/work/works -p 10000:8888 --name jupyter jupyter/datascience-notebook
우선, 위와 같이 해서 jupyter로 보통 조사하기로 했습니다.
위와 같이, pwd
=(Users/ganariya/~/The_ML)의 내용
sudo docker run \
--rm \
-e TZ=Asia/Tokyo \
-p 8888:8888 \
--name jupyterlab \
-v $(pwd)/code:/code \
jupyterlab:latest \
start.sh jupyter lab --NotebookApp.password="sha1:xxxxxxxxxxxxxxxxxxxxxxxx"
우선
docker run --rm --name test -it jupyterlab:latest bash
이 명령으로 jupyterlab 이미지를 test라는 컨테이너 이름으로 만들고 bash로 연결해 보겠습니다.
이 컨테이너 내에서
echo $HOME
그렇다면/home/jovyan이 홈처럼 보입니다.
-v에 주는 디렉토리를 변경해 보기
결론부터 말하면, 자신의 경우 -v $(pwd):/home/jovyan/code
이나 -v $(pwd)/code:/home/jovyan/code
라고 하는 것으로 잘 되었습니다.
거기까지 오른쪽 왕곡이 있었지만 ...
docker run -v `pwd`:/home/jovyan/work/works -p 10000:8888 --name jupyter jupyter/datascience-notebook
우선, 위와 같이 해서 jupyter로 보통 조사하기로 했습니다.
위와 같이, pwd
=(Users/ganariya/~/The_ML)의 내용
docker run -v `pwd`:/home/jovyan/work/works -p 10000:8888 --name jupyter jupyter/datascience-notebook
가/home/jovyan/work/works에 배포되었습니다.
즉,
/home/jovyan/work/works/Dockerfile
/home/jovyan/work/works/.gitignore
같았습니다.
분명히.
다음
docker run -v `pwd`/abc:/home/jovyan/work/works -p 10000:8888 --name jupyter jupyter/datascience-notebook
로 보았습니다. 즉, 호스트하는 Mac 측의 파일을
pwd:コンテナディレクトリ
pwd
/abc 디렉토리로 만들자! 그렇습니다.이렇게 하면
/home/jovyan/work/works
의 내용이/home/jovyan/work/works 에 들어가 있었습니다.여기까지는 예상대로 같습니다.
왜 문제가 발생했는가?
여기까지 조사한 결과로부터pwd
이나 pwd
가 tree 의 기준으로 하는 위치가 원인으로, 동기화가 되어 있지 않은구나라는 결론에 이르렀습니다.
Jupyter와 JupyterLab은 아마도 변경할 수 있다고 생각합니다.
공식 이미지에서 빌드한 컨테이너를 열면
위와 같이 되어 있어, pwd/abc
가 트리의 것이 되어 있습니다.
따라서 Jupyter
와 JupyterLab
는 jupyter로 건드렸습니다.
그러나 첫 번째 /home/jovyan
에서는 문제가 발생합니다.
호스트 디렉토리의 $(pwd)/code 디렉토리를 컨테이너의 루트 디렉토리의 code라고 하는 디렉토리에 작성합니다.
그러나 datascience-notebook과 같은 기본 이미지에서는 해당 컨테이너의 Home이 $(pwd):/home/jovyan/work
이므로 $(pwd):/home/jovyan/work/works
를 접할 수 없습니다.
따라서, 마운트 자체는 되고 있습니다만, 보이지 않는 한층 더 상위의 계층으로 마운트 되고 있었던 것입니다・・・><
결론
뇌사로 사용하고 싶을 때는 Jupyter에 관해서는
$(pwd)/code:/code
와 같이, /home/jovyan
이하에 두자···><!
감상
/code에서도 할 것 같아···! (홈 디렉토리를 바꾸거나 JupyterLab의 기동 위치를 바꾼다···?)
Reference
이 문제에 관하여(【오류 해결】 Jupyter/Jupyter Lab에서 Docker에서 마운트되지 않을 때), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ganyariya/items/41b73b7b1a76cf5bc486
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
뇌사로 사용하고 싶을 때는 Jupyter에 관해서는
$(pwd)/code:/code
와 같이,
/home/jovyan
이하에 두자···><!감상
/code에서도 할 것 같아···! (홈 디렉토리를 바꾸거나 JupyterLab의 기동 위치를 바꾼다···?)
Reference
이 문제에 관하여(【오류 해결】 Jupyter/Jupyter Lab에서 Docker에서 마운트되지 않을 때), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ganyariya/items/41b73b7b1a76cf5bc486
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(【오류 해결】 Jupyter/Jupyter Lab에서 Docker에서 마운트되지 않을 때), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ganyariya/items/41b73b7b1a76cf5bc486텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)