最近在用Docker搭建TensorFlow Serving, 在查阅了官方资料后,发现其文档内有不少冗余的步骤,便一步步排查,终于找到了更简单的Docker镜像构建方法。这里有两种方式:

版本一:

  1. FROM ubuntu:18.04
  2. # Install general packages
  3. RUN apt-get update && apt-get install -y wget && \
  4. apt-get clean && \
  5. rm -rf /var/lib/apt/lists/*
  6. # New installation of tensorflow-model-server
  7. RUN TEMP_DEB="$(mktemp)" \
  8. && wget -O "$TEMP_DEB" 'http://storage.googleapis.com/tensorflow-serving-apt/pool/tensorflow-model-server-1.8.0/t/tensorflow-model-server/tensorflow-model-server_1.8.0_all.deb' \
  9. && dpkg -i "$TEMP_DEB" \
  10. && rm -f "$TEMP_DEB" \
  11. && mkdir /tmp/model-export
  12. EXPOSE 9000
  13. # Serve the model when the container starts
  14. ENTRYPOINT ["tensorflow_model_server"]
  15. CMD ["--port=9000", "--model_name=model", "--model_base_path=/tmp/model-export"]

版本二

  1. FROM ubuntu:18.04
  2. # Install general packages
  3. RUN apt-get update && apt-get install -y curl gnupg
  4. # New installation of tensorflow-model-server
  5. RUN echo "deb [arch=amd64] http://storage.googleapis.com/tensorflow-serving-apt stable tensorflow-model-server tensorflow-model-server-universal" | tee /etc/apt/sources.list.d/tensorflow-serving.list \
  6. && curl https://storage.googleapis.com/tensorflow-serving-apt/tensorflow-serving.release.pub.gpg | apt-key add - \
  7. && apt-get update && apt-get install tensorflow-model-server \
  8. && apt-get clean \
  9. && rm -rf /var/lib/apt/lists/* \
  10. && mkdir /tmp/model-export
  11. EXPOSE 9000
  12. # Serve the model when the container starts
  13. ENTRYPOINT ["tensorflow_model_server"]
  14. CMD ["--port=9000", "--model_name=model", "--model_base_path=/tmp/model-export"]

版本一生成的Docker镜像更小些,所以比较推荐第一种方法。至于为何会有第二个版本,因为是从官方的文档上找到的,而第一个是在别人提出的问题解答中找到的。

将上述代码保存为dockerfile文件,再执行docker build命令:

  1. docker build -t tensorflow-serving -f dockerfile .

之后,再通过docker run启动容器即可:

  1. docker run -p 9000:9000 tensorflow-serving

版权声明:本文为kenwoo原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/kenwoo/p/9157704.html