Доступ к Google Cloud Datalab не работает из-за ошибки ssh

Попытка получить доступ к серверу Google Cloud Datalab с помощью: docker run -it -p "127.0.0.1:8081:8080" -v "$ {HOME}: / content" -e "GATEWAY_VM = mltensorflow-1470671201129 / us-east1-b / vm-instance-name "gcr.io/cloud-datalab/datalab:local

согласно Запустить Cloud Datalab на Google Cloud Platform

Ошибка: ERROR: (gcloud.compute.ssh) Не удалось подключиться к экземпляру по SSH. Возможно, ваш SSH-ключ еще не распространился на экземпляр. Попробуйте запустить эту команду еще раз. Если вы по-прежнему не можете подключиться, убедитесь, что брандмауэр и экземпляр настроены на прием трафика ssh.

Я использую клиент Windows 10. Повторная установка теперь вызывает эту ошибку: канал 2: сбой при открытии: сбой подключения: отказ в подключении Не удалось настроить туннель SSH для виртуальной машины имя-экземпляра vm

Экземпляр доступен с помощью других средств, например: gcloud compute --project "имя_проекта" ssh --zone "us-west1-a" "ins-name"


person Ranko Mosic    schedule 15.08.2016    source источник
comment
Просто быстрая проверка. Вы заменили vm-instance-name созданным экземпляром виртуальной машины? Причина, по которой я спрашиваю, заключается в том, что vm-instance-name не соответствует имени экземпляра, используемому в gcloud compute ...   -  person Anthonios Partheniou    schedule 15.08.2016
comment
Хороший улов, Антониос. К сожалению, это не причина (я перечислил общий оператор gcloud - реальные аргументы в порядке и соответствуют фактическому имени экземпляра vm).   -  person Ranko Mosic    schedule 15.08.2016
comment
Я думаю, что в документации Datalab чего-то не хватает - они просто изменили способ доступа к ней за выходные. Это может быть что-то вроде: gloud docker   -  person Ranko Mosic    schedule 15.08.2016
comment
Я просмотрел документацию и смог подключиться к шлюзу в GCE. Примечание. Я получил ту же ошибку, о которой вы упомянули здесь (Failed to setup the SSH tunnel). Через 30 секунд я снова попробовал docker run it ... и не получил ошибки.   -  person Anthonios Partheniou    schedule 15.08.2016
comment
Повторное выполнение мне не помогло. Вы работаете в Windows?   -  person Ranko Mosic    schedule 16.08.2016
comment
К сожалению, у меня нет Windows. Докер не работает на моей виртуальной машине Windows. Из forum.docker .com / t /, Docker для Windows требует расширений Hyper-v и виртуализации. Без вложенной виртуализации (недоступной в VirtualBox) Docker для Windows не может устанавливаться и работать.   -  person Anthonios Partheniou    schedule 16.08.2016
comment
Я пропустил этот момент - включить Hyper-V просто, а Docker работает в Windows. Просто гении из GOOG Dloud Datalab не создали рабочий док-контейнер на Windows. Итак, я переключился на Ubuntu, как показано ниже, получил команду запуска докера, но теперь у меня проблема с пустой страницей записной книжки.   -  person Ranko Mosic    schedule 18.08.2016
comment
Я испытываю ту же проблему. Может быть проблема с аутентификацией? После этапа аутентификации я получаю следующее предупреждение: «ПРЕДУПРЕЖДЕНИЕ: gcloud auth login перестанет записывать учетные данные приложения по умолчанию в следующем выпуске. См .: developers.google.com/identity/protocols/. для дополнительной информации.'   -  person Peter Coghill    schedule 18.08.2016
comment
Все это очень раздражает. У GOOG был рабочий Datalab, а теперь он перешел на барахло. Как мы можем доверять публичному облаку GOOG, если они вытаскивают почву из-под нас?   -  person Ranko Mosic    schedule 18.08.2016
comment
@RankoMosic I got passed that point - ›Моя проблема связана с запуском Docker для Windows внутри виртуальной машины Windows с использованием Virtualbox, которая не поддерживает вложенную виртуализацию. Я не верю, что для этого есть решение. Docker для Windows работает, когда у вас есть хост Windows. Можете ли вы подтвердить, что используете хост Windows? Мне не удалось воспроизвести проблему на Ubuntu. Я хочу убедиться, что мы оба используем один и тот же образ докера. Ты умеешь бегать docker pull gcr.io/cloud-datalab/datalab:local?   -  person Anthonios Partheniou    schedule 18.08.2016
comment
@RankoMosic Можете ли вы создать задачу здесь с полным выводом на консоль? Моя конфигурация отлично работает в Ubuntu, и я хочу помочь, но мне нужно больше информации. Благодарим вас за терпение, пока мы работаем над решением этой проблемы.   -  person Anthonios Partheniou    schedule 18.08.2016
comment
@PeterCoghill I'm experencing the same issue. - ›Можете ли вы создать задачу здесь с полным выводом на консоль? Опишите проблему как можно подробнее.   -  person Anthonios Partheniou    schedule 18.08.2016
comment
Я создал проблему на github.   -  person Ranko Mosic    schedule 20.08.2016
comment
Я отправил запрос на перенос, который, похоже, решает проблему с "пустой страницей". А пока существует временное решение, описанное в комментариях в выпуске Datalab Github № 950.   -  person Anthonios Partheniou    schedule 21.08.2016


Ответы (2)


Команда docker run ... имеет аргумент, который не работает в Windows AFAIK. Но странно то, что я ожидал совсем другой ошибки, и на самом деле мне удалось получить ошибку из-за $ {HOME}.

Вот команда, которую я выполнил, и она сработала хорошо - после замены значения HOME (вам нужно будет заменить [proj-id] ниже.

docker run -it -p "8081:8080" -v "/C/Users/dinesh/Documents/:/content"    -e "GATEWAY_VM=[proj-id]/us-central1-f/datalab"  gcr.io/cloud-datalab/datalab:local

Не уверен, что это сработает для вас, но стоит попробовать что-то, если замена окажется проблемой. (Я предполагаю, что виртуальная машина была создана с помощью datalab-gateway.yaml без каких-либо ошибок.)

Спасибо.

Динеш Кулкарни

PM, Datalab и Cloud ML

person Dinesh    schedule 15.08.2016
comment
Путь жесткого кодирования, как указано выше, не работал (ошибка, связанная с путем, сначала выскакивала, а затем исчезла через некоторое время; поэтому я не стал ее жестко кодировать). - person Ranko Mosic; 16.08.2016
comment
Повторил весь процесс, теперь на Ubuntu 16.04. Пройден вышеуказанный проблемный момент. Возникла другая проблема: в браузере не отображаются записные книжки Python. - person Ranko Mosic; 16.08.2016
comment
Не могли бы вы предоставить дополнительную информацию, чтобы помочь в устранении неполадок? Что ты видишь в браузере? - person Anthonios Partheniou; 16.08.2016
comment
Когда я указываю на localhost: 8081 URL меняется на localhost: 8081 / tree / datalab, и отображается пустой экран. Блокноты не загружены. (Я обошел кнопку «Разрешить»). - person Ranko Mosic; 17.08.2016
comment
Возможно, поэтому - обнаружил эту строку в docker run ... output: {name: app, hostname: 326a7fabf546, pid: 181, level: 50, err: {message: timeout, name: Error, stack: Error: timeout \ n в timeoutFunc (/datalab/web/node_modules/tcp-port-used/index.js:192:25)\n в Timer.listOnTimeout (timers.js: 92: 15)}, msg: Не удалось запустить сервер Jupyter для анонимный пользователь., время: 2016-08-17T09: 25: 32.252Z, v: 0} - person Ranko Mosic; 17.08.2016
comment
@RankoMosic Одна из возможностей заключается в том, что локальный брандмауэр блокирует соединение. Вы случайно не настраивали брандмауэр в ubuntu (например, iptables), который мог блокировать локальные соединения (127.0.0.1)? - person Anthonios Partheniou; 18.08.2016
comment
iptables не запущен - person Ranko Mosic; 20.08.2016

Проблема с официальными инструкциями Запустить Cloud Datalab на Google Cloud Platform заключается в том, что предоставленная команда для создания шлюзовой виртуальной машины некорректно работает в Windows.

Замените --metadata "google-container-manifest=$(cat datalab-gateway.yaml)" на --metadata-from-file google-container-manifest=datalab-gateway.yaml, и виртуальная машина будет создана с datalab-gateway.yaml без каких-либо ошибок. Вы можете войти в свой новый экземпляр и запустить sudo docker ps, чтобы дважды проверить, запущен ли контейнер.

После этого вы можете перейти к следующему шагу (docker run...), просто заменив ${HOME} на /C/Users/<your path>, как описал Динеш.

person Dorota    schedule 18.09.2016