Написание сценария Bash для получения токена ноутбука Jupyter, работающего в контейнере - PullRequest
0 голосов
/ 12 февраля 2019

Я запускаю Dockerized Jupyter Server и не хочу получать его токен доступа вручную.Поэтому я хотел бы написать сценарий bash, который будет извлекать токен и открывать сервер с ним

. Я попытался сделать следующее:

docker run --name notebook -w /home/fenics -v $(pwd):/home/fenics/shared -d -p 127.0.0.1:8888:8888 quay.io/fenicsproject/stable 'jupyter-notebook --ip=0.0.0.0'
token=`docker logs notebook 2>&1 | grep -o "token=[a-z0-9]*" | sed -n 1p`
google-chrome http://127.0.0.1:8888/?$token

Однако он не работает.Поскольку команда docker logs notebook ничего не выводит, если она записана в сценарии или в консоли в той же строке, что и команда, предшествующая ей.Но это так, если вы пишете команды в терминале по одной.Пожалуйста, покажите мне, как можно решить проблему (было бы хорошо, даже если ваше решение отличается) и объясните, почему мой код не работает (я хочу знать, потому что это уже вторая проблема, которую я пытаюсь решить ввот так)

1 Ответ

0 голосов
/ 12 февраля 2019

Не используйте `` но $ () вместо этого.Я предполагаю, что оболочка может быть другой.

Я только что попробовал, и это сработало

token=$(docker logs notebook 2>&1 | grep -o "token=[a-z0-9]*"| sed -n 1p)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...