Docker的使用--制作自己的镜像(四)

本文介绍如何使用Docker部署Tomcat应用,包括下载Tomcat镜像、上传WAR包、创建Dockerfile并构建镜像,最后运行自定义的Tomcat镜像。

1、下载tomcat镜像

docker pull xxxx

注:pull下来tomcat镜像中都已包含jdk,所以不需要另行安装jdk了

2、上传需要部署的war包到自定义的工作目录下

3、在上个步骤创建的通过工作目录下创建Dockerfile文件

1)、war包和Dockerfile文件放在同一目录下:

这里写图片描述

2)、编辑Dockerfile文件:

from hub.c.163.com/library/tomcat
MAINTAINER Liguanqin 1186749489@qq.com
COPY demo.war /usr/local/tomcat/webapps/

文件需要以from开头,主要是把该目录下的war复制到第一步的tomcat中。

这里写图片描述

3)、通过docker build命令创建镜像:

docker build -t demo:latest .

注:-t 表示为该镜像起名称,另外,构建命令后面有个英文实心点,表示但前目录。
这里写图片描述

4)、通过docker images可以看到该镜像已经创建成功了:

docker images

这里写图片描述

3、运行自己的镜像

docker run -d -p 32771:8080 镜像ID

注:
-d:表示在后台运行该镜像(按ctrl+C不会终止该程序)
-p:小写p表示指定本机的32771端口对应容器中的8080端口
这里写图片描述
运行成功后会生产一个64位的容器ID,通过

4、测试

调用demo中的测试接口,返回结果与预期的一样。
这里写图片描述

为了为 Qwen3-Embedding 创建 Docker 镜像,需要准备模型文件、构建 Docker 镜像的上下文环境,并编写 `Dockerfile` 来定义镜像的构建流程。以下是详细的步骤: ### 1. 准备模型文件 首先,确保你已经下载了 Qwen3-Embedding-8B 模型文件。可以通过 ModelScope 下载模型: ```bash # 安装 ModelScope CLI pip3 install modelscope # 创建模型存放目录 mkdir /home/models cd /home/models # 下载 Qwen3-Embedding-8B 模型 modelscope download --model Qwen/Qwen3-Embedding-8B ``` 如果发现模型文件不完整,可以通过 `wget` 手动下载缺失的文件: ```bash wget https://www.modelscope.cn/models/Qwen/Qwen3-Embedding-8B/resolve/master/model-00002-of-00004.safetensors ``` ### 2. 创建 Docker 构建上下文 在模型文件下载完成后,创建一个用于构建 Docker 镜像的目录结构。该目录通常包含以下内容: - 模型文件(如 `model-00001-of-00004.safetensors`, `model-00002-of-00004.safetensors` 等) - `Dockerfile` 文件 - 其他必要的配置文件或启动脚本 目录结构示例如下: ``` qwen3-embedding-docker/ ├── Dockerfile ├── model/ │ ├── model-00001-of-00004.safetensors │ ├── model-00002-of-00004.safetensors │ └── ... └── start.sh ``` ### 3. 编写 Dockerfile `Dockerfile` 是 Docker 镜像构建的核心文件,定义了镜像的构建步骤。以下是一个示例 `Dockerfile`,基于 `vLLM` 框架部署 Qwen3-Embedding-8B 模型: ```Dockerfile # 使用基础镜像 FROM nvidia/cuda:11.8.0-base # 安装必要的依赖 RUN apt-get update && \ apt-get install -y --no-install-recommends \ python3-pip \ python3-setuptools \ git \ && rm -rf /var/lib/apt/lists/* # 安装 vLLM 和其他依赖 RUN pip3 install vllm transformers torch # 创建模型目录 RUN mkdir -p /models/qwen3-embedding-8b # 复制模型文件到容器中 COPY model/ /models/qwen3-embedding-8b/ # 设置工作目录 WORKDIR /app # 复制启动脚本到容器中 COPY start.sh /app/start.sh # 赋予启动脚本执行权限 RUN chmod +x /app/start.sh # 暴露服务端口 EXPOSE 8080 # 启动服务 CMD ["/app/start.sh"] ``` ### 4. 编写启动脚本 `start.sh` 是一个简单的启动脚本,用于加载模型并启动服务。以下是一个示例脚本: ```bash #!/bin/bash # 加载模型并启动服务 python3 -m vllm.entrypoints.api_server \ --host 0.0.0.0 \ --port 8080 \ --model /models/qwen3-embedding-8b \ --embedding ``` ### 5. 构建 Docker 镜像 在准备好 `Dockerfile` 和相关文件后,进入构建目录并运行以下命令来构建 Docker 镜像: ```bash docker build -t qwen3-embedding-8b . ``` ### 6. 运行 Docker 容器 构建完成后,可以使用以下命令运行 Docker 容器: ```bash docker run -d -p 8080:8080 --gpus all qwen3-embedding-8b ``` ### 7. 测试服务 服务启动后,可以通过 `curl` 命令测试模型的推理能力。例如: ```bash curl -X POST http://localhost:8080/embeddings \ -H "Content-Type: application/json" \ -d '{ "input": "This is a test sentence." }' ``` ###
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值