我试图创建一个Docker镜像,以便将其作为服务器运行,用于提供PyTorch模型服务。
我在本地计算机上将.pt模型文件转换为.MAR文件,然后将.MAR文件复制到Docker镜像中。我创建了一个Dockerfile:
FROM ubuntu:18.04
ENV TZ=Asia/Shanghai
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update \
&& apt-get install --yes --no-install-recommends \
tzdata
RUN ln -snf /usr/share/zoneinfo/${TZ} /etc/localtime\
&& echo ${TZ} > /etc/timezone \
&& dpkg-reconfigure -f noninteractive tzdata
RUN apt-get install python3 python3-dev python3-pip openjdk-11-jre-headless git wget curl -y
RUN python3 -m pip install torch torchvision torch-model-archiver torchserve==0.2.0
COPY densenet161.mar /model_store/
CMD torchserve --start --model-store model_store --models densenet161=densenet161.mar
EXPOSE 8080
我能够创建镜像,但我无法访问该容器。当我尝试打开镜像并运行代码时,它能够正常工作。
docker exec -it 4b126bd87f21 sh
# torchserve --start --ncs --model-store model_store --models densenet161.mar
服务器正在运行。当我运行docker镜像时,它无法工作。Docker容器正在运行,但我无法访问服务器。
我不知道问题出在哪里。
docker run
运行容器时尝试添加--net host
命令。 - eroot163pi