wsl2安装docker+dify+xinference

dandan9个月前程序开发2517

1、wsl2安装ubuntu,这里指定版本安装一个新环境

 wsl --install -d Ubuntu-22.04

2、安装完的ubuntu是在c盘的,放到其他盘里,先导出,再倒入

#导出Ubuntu-22.04到d盘wsl目录里
wsl --export Ubuntu-22.04 D:\wsl\ubuntu2204_backup.tar
#注销原先的环境
wsl --unregister Ubuntu-22.04
#导入新环境
wsl --import Ubuntu-22.04 D:\wsl\ubuntu2204 D:\wsl\ubuntu2204_backup.tar

3、先在用户目录下,创建一个.wslconfig,添加配置,如用户名是1,目录就在C:\Users\1

[experimental]
#网络镜像模式
networkingMode=mirrored
hostAddressLoopback=true
#共用 Windows DNS、防火墙、代理设置
dnsTunneling=true
firewall=true
autoProxy=true

然后直接用win11去下载docker桌面端安装包,安装完成进入后,设置->Resources->WSL intergation里 勾上ubuntu,提交就可以了(忘了是不是要重启)

wsl -d Ubuntu-22.04

4、设置root密码

#默认root没密码,所以执行后会让输入
sudo passwd root

5、平时使用都是root方便,设置默认用户为root

#先切root,避免权限问题
su
#输入root密码
vim /etc/wsl.conf
#添加下面的内容
[user]
default=root

#保存后,关闭ubuntu,新开个cmd窗口,重启wsl
wsl --shutdown
#重新再启动,就自动是root

6、设置默认wsl命令启动的镜像

wsl --set-default Ubuntu-22.04

#然后执行wsl就能直接启动这个

7、安装openssh-server,方便ssh控制

# 习惯东西都放到/opt里
cd /opt
apt update
apt install openssh-server
# 安装完后,修改配置支持root登陆
vim /etc/ssh/sshd_config
# 找到PermitRootLogin部分应该是注释的,直接添加下面保存
PermitRootLogin yes
PasswordAuthentication yes
# 然后启动ssh,就可以局域网访问了(默认wsl的ip和win的ip是同一个,暂时没研究其他的网卡方式)
service ssh start

8、ubuntu安装docker和docker-compose(win11装了桌面端就可以不用装docker了,docker-compose好像也可以直接用win的)

# 用curl方式安装,先装curl
apt install curl
# 下载安装
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
# 执行docker -v后可以,安装docker compose
curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 设置权限
chmod +x /usr/local/bin/docker-compose
# 设置软链接
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
# 查看版本,验证成功
docker-compose version

9、安装anaconda的py环境管理,直接官网下载,上传到服务器

chmod +x Anaconda3-2024.10-1-Linux-x86_64.sh
./Anaconda3-2024.10-1-Linux-x86_64.sh

# 安装开始要阅读协议,按空格可以翻页快速到底
# 输入yes开始安装,然后设置目录直接回车,用默认目录
# 等待安装完成会让输入yes/no,输入yes
# 如果错过yes,可以手动
source ~/anaconda3/bin/activate
# 然后要设置环境变量生效
source ~/.bashrc
# 然后验证显示版本就完成
conda --version

10、安装py环境

conda create -n dify python=3.11.7

11、切换环境,安装xinference

conda activate dify
pip install "xinference[transformers]"
#安装成功,启动
xinference-local --host 0.0.0.0 --port 9997

12、从git下载dify,上传到,进入目录里的docker目录下,复制一个.env.example变成.env,修改里面EXPOSE_NGINX_PORT端口,作为应用的运行端口

13、如果是没有gpu的,可以运行dify前,把ollama xinference的镜像一并加进去:

# ollama
ollama:
image: ollama/ollama
container_name: ollama
ports:
- 11434:11434
volumes:
- ./volumes/ollama:/root/.ollama
restart: always
# xinference
xinference:
image: xprobe/xinference:v0.16.2-cpu
container_name: xinference
ports:
- 9997:9997
volumes:
- ./volumes/xinference/.xinference:/root/.xinference
- ./volumes/xinference/.cache/huggingface:/root/.cache/huggingface
- ./volumes/xinference/.cache/modelscope:/root/.cache/modelscope
environment:
- XINFERENCE_MODEL_SRC=modelscope
command: xinference-local -H 0.0.0.0
restart: always

14、启动成功后,下载ollama的模型,使用docker exec -it ollama ollama run qwen2.5:7b

相关文章

mac m1使用docker mysql踩坑

1、etcd版本用3.4.242、mysql镜像要用:mysql/mysql-server:8.0.323、mysql因为是8的版本,启动后本地没权限连接,需要进容器创建用户和添加权限:# ...

宝塔ftp连不上

1、先检查端口是否有开放,涉及宝塔端口 和 云服务器的安全组;2、对Pure-ftpd的配置文件中,大概180来行的ForcePassiveIP  开放,并且把ip改成服务器的外网ip;...

go-zero学习

goland创建新项目,需要在设置->go->go模块里启用go模块集成,不然下载的包无法正常引入根据api文件内容生成文件 goctl api go&nbs...

git操作

将本地现有项目放到远端上:添加远程仓库: git remote add [远端名称] [远端地址], 名称一般默认都是origin,地址就是项目地址git remote add&n...

opemim安装部署

前置准备:(1)安装golang环境(官网下linux包到服务器解压,设置环境变量到bin目录即可),并设置go代理:go env -w GOPROXY=https://proxy.golang.co...

使用ngrok进行内网穿透

1、在官网注册账号:https://ngrok.com/ 2、左侧导航Setup & Installtion,下载当前电脑的应用3、左侧导航Your Authtoken,获取token配置命令...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。