通过Docker构建TensorFlow Serving

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

版本一:

FROM ubuntu:18.04

# Install general packages
RUN apt-get update && apt-get install -y wget && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*
    
# New installation of tensorflow-model-server    
RUN TEMP_DEB="$(mktemp)" \
    && 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' \ 
    && dpkg -i "$TEMP_DEB" \ 
    && rm -f "$TEMP_DEB" \ 
    && mkdir /tmp/model-export    
    
EXPOSE 9000

# Serve the model when the container starts
ENTRYPOINT ["tensorflow_model_server"]
CMD ["--port=9000", "--model_name=model", "--model_base_path=/tmp/model-export"]

版本二

FROM ubuntu:18.04

# Install general packages
RUN apt-get update && apt-get install -y curl gnupg

# New installation of tensorflow-model-server    
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 \ 
    && curl https://storage.googleapis.com/tensorflow-serving-apt/tensorflow-serving.release.pub.gpg | apt-key add - \ 
    && apt-get update && apt-get install tensorflow-model-server \ 
    && apt-get clean \ 
    && rm -rf /var/lib/apt/lists/*  \
    && mkdir /tmp/model-export 

EXPOSE 9000

# Serve the model when the container starts
ENTRYPOINT ["tensorflow_model_server"]
CMD ["--port=9000", "--model_name=model", "--model_base_path=/tmp/model-export"]

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

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

docker build -t tensorflow-serving -f dockerfile .

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

docker run -p 9000:9000 tensorflow-serving
posted @   Ken.W  阅读(1611)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示