Linux 部署docker+open-webui实践

一、背景

本地部署开源大语言模型,苦于常见笔记本和台式电脑的配置较低,运行不顺畅问题,因此拟通过内网Linux服务器来部署。本篇文章将全程记录部署全过程。供志同之士相互学习参考。

二、Centos7部署Docker

下载你想要的Docker版本,通过WinSCP传入内网服务器。具体部署操作如下:

# 将Docker放入指定文件夹并进行解压
tar -zxvf docker-20.10.10.taz(这里是你的docker安装包的名字)

# 解压之后将docker全部文件拷贝到根目录下的/usr/bin目录下
sudo cp -p docker/* /usr/bin

# 创建docker.service文件,实现开机自启动
touch docker.service

# 将以下内容粘贴到docker.service中
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target

# 把docker.service拷贝到根目录下的 /etc/systemd/system/ 目录
sudo cp docker.service /etc/systemd/system/ 

# 对docker.service设置权限
sudo chmod +x /etc/systemd/system/docker.service

# 重新加载某个服务的配置文件
sudo systemctl daemon-reload

# 启动docker
sudo systemctl start docker

# 查看是否安装成功
sudo docker --version

三、安装Python(含pip)

1、下载Python的Linux 版本,open-webui要求Python3.11.*版本。(下载Linux版本下的ollama实在太慢了,我只能多路径尝试。)

# 下载地址,选择tar.xz版本的安装包进行下载
https://www.python.org/ftp/python/3.11.3/

2、使用WinSCP连接Linux服务器,将以上安装包传入/usr/python3目录(自定义)

# 在根目录下新建一个usr/python3
mkdir /urs/python3/

3、解压、编译、创建软连接

# 进入目录
cd /usr/python3

# 解压,解压的python包是你自己的安装包名字
xz -d Python-3.11.*.tar.xz
tar -xvf Python-3.11.*.tar


# 进入解压并指明安装的Python路径
cd Python-3.11.*
./configure --prefix=/usr/local/python

#注意:需要执行命令,避免pip3 install 的时候报错没有ssl模块,其实python下面是有的,没有的话先安装:
1  yum install -y openssl-devel
2  ./configure --with-ssl

# 备注:也可直接用以下方式解决:
pip install open-webui -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com

# 编译安装
make && make install

# 软连接,便于直接用python3和pip3访问(centos7自带python2)
ln -s /usr/local/python/bin/python3.11 /usr/bin/python3
ln -s /usr/local//python/bin/pip3.11 /usr/bin/pip3

# 检测安装情况
python3 -V
pip3 -V

四、未完待续... 

### 部署DeepSeek本地模型的教程 #### 使用Docker、Ollama和Open-WebUILinux上的部署流程 为了成功部署DeepSeek本地模型,需先安装并配置好Docker环境。对于Linux系统而言,推荐按照官方文档中的指导完成安装过程[^1]。 一旦Docker准备就绪,下一步就是拉取所需的镜像文件。这里涉及到两个主要组件:一个是用于处理数据流的应用程序`docker.io/sladesoftware/log-application:latest`[^2];另一个则是特定版本的日志收集工具`docker.io/elastic/filebeat:7.8.0`。不过针对DeepSeek项目本身,则需要找到对应的预构建镜像或是自行创建适合该模型运行的基础镜像。 关于Ollama的支持,在此假设其作为服务端的一部分被集成到了最终使用的容器化应用里。而Open-WebUI作为一个图形界面前端框架,可以方便开发者调试以及用户交互操作。通常情况下,这类web应用程序也会被打包成独立的Docker镜像来简化分发与部署工作。 下面是一个简单的Python脚本例子展示如何通过命令行调用API接口启动相关服务: ```python import subprocess def start_services(): try: # 启动日志收集器FileBeat filebeat_command = "docker run -d docker.io/elastic/filebeat:7.8.0" process_filebeat = subprocess.Popen(filebeat_command.split(), stdout=subprocess.PIPE) # 启动Log Application log_app_command = "docker run -d docker.io/sladesoftware/log-application:latest" process_logapp = subprocess.Popen(log_app_command.split(), stdout=subprocess.PIPE) output, error = process_filebeat.communicate() if error is None: print("Services started successfully.") else: print(f"Error occurred while starting services: {error}") except Exception as e: print(e) if __name__ == "__main__": start_services() ``` 值得注意的是,实际环境中可能还需要考虑网络设置、存储卷挂载等问题以确保各个微服务之间能够正常通信协作。此外,由于具体实现细节会依赖于所选的技术栈及业务需求,因此建议参考更多针对性强的学习资源如《Docker入门到实践》一书获取深入理解。 最后提醒一点,当涉及敏感信息传输时务必遵循安全最佳实践原则保护隐私不受侵犯。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值