docker: ответ об ошибке от демона: неверная спецификация тома - PullRequest
0 голосов
/ 25 февраля 2020

В настоящее время я следую этому руководству, чтобы запустить модель на Docker, созданную с использованием Google Cloud AutoML Vision:

https://cloud.google.com/vision/automl/docs/containers-gcs-tutorial

I У меня проблемы с запуском контейнера, в частности, с помощью этой команды:

sudo docker run --rm --name ${CONTAINER_NAME} -p ${PORT}:8501 -v ${YOUR_MODEL_PATH}:/tmp/mounted_model/0001 -t ${CPU_DOCKER_GCR_PATH}

У меня правильно настроены переменные среды (сделал echo $<env_var>). У меня нет каталога / tmp / mount_model / 0001 в моей локальной системе. Путь к моей модели настроен в качестве расположения модели в облачном хранилище.

1 Ответ

1 голос
/ 25 февраля 2020

${YOUR_MODEL_PATH} должен быть каталогом на хосте, на котором вы запускаете контейнер.

Ваш вопрос предполагает, что вы используете путь к хранилищу Cloud Storage, но вы не можете этого сделать.

Пересматривая учебник, я думаю, что инструкции сбивают с толку.

Вам говорят:

gsutil cp \
  ${YOUR_MODEL_PATH} \
  ${YOUR_LOCAL_MODEL_PATH}/saved_model.pb

Итак, ваша команда, вероятно, должна быть:

sudo docker run \
  --rm \
  --interactive --tty \
  --name=${CONTAINER_NAME} \
  --publish=${PORT}:8501 \
  --volume=${YOUR_LOCAL_MODEL_PATH}:/tmp/mounted_model/0001 \
  ${CPU_DOCKER_GCR_PATH}

NB Я добавил --interactive --tty, чтобы упростить отладку; это необязательно

NB ${YOUR_LOCAL_MODEL_PATH} not ${YOUR_MODEL_PATH}

NB Команда не должна быть -t ${CPU_DOCKER_GCR_PATH} пропустить -t

Я не прошел этот урок.

...