Проблема:
Я создал образ докера с установленной Jupyter Lab для локального развития среды машинного обучения.
Чтобы избежать использования пользователя root в контейнере, я использовал тот же uid в контейнере, что имой локальный хост-компьютер.
Мне удалось запустить Jupyter Lab в контейнере с помощью команды:
Jupyter lab --ip=0.0.0.0 --port=8888
Однако я не могу изменить тему jupyter lab. и он сообщает о следующих ошибках:
[W 14:02:12.974 LabApp] 500 PUT /lab/api/settings/@jupyterlab/apputils-extension:themes?1572184932897 (172.17.0.1): Failed writing settings (@jupyterlab/apputils-extension:themes): [Errno 13] Permission denied: '/.jupyter'
[W 14:02:12.975 LabApp] Failed writing settings (@jupyterlab/apputils-extension:themes): [Errno 13] Permission denied: '/.jupyter'
[E 14:02:12.975 LabApp] {
"Host": "127.0.0.1:8888",
"Pragma": "no-cache",
"Accept": "*/*",
"Authorization": "token bbe0ea37f1d54cd21cac85350cf81f7ab831d298ff2ce9ba",
"X-Xsrftoken": "2|4e33c1b7|8b2a94f61a038e400b6f1d672c8ad95c|1572182770",
"Accept-Language": "en-gb",
"Cache-Control": "no-cache",
"Accept-Encoding": "gzip, deflate",
"Content-Type": "application/json",
"Origin": "http://127.0.0.1:8888",
"Content-Length": "237",
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.2 Safari/605.1.15",
"Referer": "http://127.0.0.1:8888/lab",
"Connection": "keep-alive",
"Cookie": "username-127-0-0-1-8888=\"2|1:0|10:1572184913|23:username-127-0-0-1-8888|44:MGMzNzJmNDAwOWQ3NDQzOWI1ZDgzOTY5ZTUzYTI4NjQ=|e2e38e0740c172241ffd8d95316bbe453cc40fd4e03e8f6530593d746f8d9037\"; _xsrf=2|4e33c1b7|8b2a94f61a038e400b6f1d672c8ad95c|1572182770"
}
[E 14:02:12.975 LabApp] 500 PUT /lab/api/settings/@jupyterlab/apputils-extension:themes?1572184932897 (172.17.0.1) 8.73ms referer=http://127.0.0.1:8888/lab
Каталог '/.jupyter' даже не существует в контейнере.
Как я могу это исправить и изменить тему на темную? Спасибо!
Приложение
Ниже приведены дополнительные коды при необходимости
Мой Dockerfile:
FROM tensorflow/tensorflow:latest-gpu-py3-jupyter AS pre
WORKDIR /repo
RUN apt-get -qqy update && apt-get install -qqy \
curl \
npm \
nodejs
FROM pre AS dev
COPY ./* /repo/
RUN pip install --upgrade pip && pip install -r requirement.txt
RUN jupyter labextension install @jupyterlab/toc
RUN chmod -R 777 /.local
require.txt:
pandas
scipy
scikit-learn
matplotlib
seaborn
jupyterlab
Как запустить контейнер:
docker run -it -u $(id -u):$(id -g) \
--rm \
-p 8888:8888 \
-p 6006:6006 \
-v /$(pwd):/repo \
-w /repo \
--name $(basename $("pwd"))\
$(basename $("pwd")):latest \
bash