【问题标题】:Remove localhost dependency of docker移除 docker 的 localhost 依赖
【发布时间】:2020-08-05 05:44:58
【问题描述】:

我正在开发 tensorflow 服务 docker 映像 我有一个 docker 命令来启动对象检测服务器,如下所示:

sudo docker run -p 8500:8500 -p 8501:8501 --mount type=bind,source=/home/ajinkyabobade93/keras-retinanet/retinanet_savedmodel,target=/models/retinanet/1 -e MODEL_NAME=retinanet -t tensorflow/serving &

我的问题是每次我运行这个 docker 时我都必须指定路径 /home/ajinkyabobade93/keras-retinanet/retinanet_savedmodel 这个路径来自我的个人计算机。我想将此文件夹放在 docker 映像中,这样我就不必每次都从本地主机指定路径。

如何运行这个 docker 容器,使源目录位于 docker 映像内而不是我的 PC 上?

【问题讨论】:

  • 构建自定义镜像并复制您想要的文件。
  • @leopal 如何删除对 --mount type=bind 的依赖?什么是 --mount 类型?

标签: docker tensorflow tensorflow-serving


【解决方案1】:

挂载绑定是一种将卷绑定到容器以保存和写入数据的技术,此挂载绑定有两种主要技术 https://docs.docker.com/storage/bind-mounts/ https://docs.docker.com/storage/volumes/

您可以轻松制作一个 dockerfile 来存储您的配置,以便在任何机器上轻松使用它

【讨论】:

  • 上述命令是否意味着从源复制并将其粘贴到目标“/models/retinanet/1”? target 是否也代表 docker image 中的文件夹?
  • 它不是复制它是从内部到外部的链接,换句话说,我们链接的容器内的文件夹 /models/retinanet/1 并指向 /home/ajinkyabobade93/keras-容器外部的retinanet/retinanet_savedmodel,如果您从外部删除了某些内容,则内部将无法使用,反之亦然
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-16
  • 1970-01-01
  • 2017-03-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多