赞
踩
好久没有写文章了,今天有空,记录一下chatglm本地知识库的docker镜像制作过程。
核心程序是基于“闻达”开源项目,稍作改动。镜像可以直接启动运行,大家感兴趣可以进入镜像内部查看,代码位于 /app 目录下。
- docker tag chatglm:v1 ch1949/chatglm:latest
- docker push ch1949/chatglm:latest
tag的名字斜线前面部分ch1949需要是本人docker的用户名,才能push成功。
本人的docker用户名,可以进入docker hub网站查看。
上传自己的镜像到 Docker Hub 上可以分为以下几个步骤:
注册 Docker Hub 账号并登录。在 Docker Hub 的官方网站上注册账号后,使用 docker login
命令登录到 Docker Hub。
$ docker login
构建 Docker 镜像。在本地使用 Dockerfile 构建出需要上传的镜像,
- FROM python:3.9
- WORKDIR /app
- COPY . /app
- RUN pip install -r requirements.txt
- CMD ["python", "app.py"]
通过 docker build
命令进行构建。
$ docker build -t myusername/myapp:1.0 .
给镜像打标签。使用 docker tag
命令给构建出的镜像打上标签,格式为 <用户名>/<镜像名>:<标签>
,其中 <用户名>
是在 Docker Hub 上注册的用户名,<镜像名>
是自己给镜像起的名字,<标签>
是版本号或者其他标识符。
$ docker tag myusername/myapp:1.0 myusername/myapp:latest
上传镜像到 Docker Hub。使用 docker push
命令将打好标签的镜像上传到 Docker Hub 上,格式为 docker push <用户名>/<镜像名>:<标签>
。
- $ docker push myusername/myapp:1.0
- $ docker push myusername/myapp:latest
(目前书库中只有一本《三国演义》)
docker pull docker.io/ch1949/chatglm
- 创建容器
- # docker run --gpus all -p 17860:17860 --name chatglm -it ch1949/chatglm:latest
-
- 后面可以通过start/stop来开关容器
- # docker start chatglm
- # docker stop chatglm
这里记得打开你服务器机器的防火墙17860端口。
http://你机器的ip地址:17860
- FROM pytorch/pytorch:2.0.1-cuda11.7-cudnn8-runtime
- LABEL maintainer="cc <ch1949@126.com>"
- WORKDIR /app
-
- RUN conda install cudatoolkit=11.7 -c nvidia -y
-
- COPY / ./
-
- RUN pip install -r requirements.txt
-
- CMD ["python", "main.py"]
关于dockerfile的一些说明:
这里有一个坑:pytorch/pytorch:2.0.1-cuda11.7-cudnn8-runtime 镜像里没有 libcudart11.0 libcublaslt11 库,需要单独安装。
否则会报错:Library cudart is not initialized
当然,也可以自行安装:
conda install cudatoolkit=11.7 -c nvidia -y
或者通过apt命令,比如在Ubuntu 22.04 下执行如下命令效果一样:
sudo apt install libcudart11.0 libcublaslt11
(未完待续)
20230704
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。