【问题标题】:docker: Error response from daemon: invalid volume specificationdocker:来自守护程序的错误响应:无效的卷规范
【发布时间】:2020-06-09 12:58:44
【问题描述】:

我目前正在按照本教程在 Docker 上运行一个使用 Google Cloud AutoML Vision 构建的模型:

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

我在运行容器时遇到问题,特别是运行这个命令:

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/mounted_model/0001 目录。我的模型路径配置为云存储上的模型位置。

【问题讨论】:

    标签: docker google-cloud-automl


    【解决方案1】:

    ${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 以便于调试;这是可选的

    注意${YOUR_LOCAL_MODEL_PATH}不是${YOUR_MODEL_PATH}

    注意该命令不应为-t ${CPU_DOCKER_GCR_PATH} 省略-t

    我还没有完成本教程。

    【讨论】:

    • 我终于让它工作了,显然,如果我使用 --publish 标志,本教程后面的脚本将不起作用(错误是:最大重试次数超过 url:/v1/models/默认值:预测),所以我做了一个“-p 8501:8501”。感谢您的帮助。
    猜你喜欢
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    • 2023-01-08
    • 1970-01-01
    • 1970-01-01
    • 2021-11-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多