wsl2安装docker+dify+xinference

dandan6个月前程序开发1842

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

相关文章

Docker使用篇

镜像:image容器:container运行镜像(如果本地有则会运行本地,本地没有会去下载镜像仓库)docker run 镜像运行镜像内系统的命令窗口(如果要退出,输入exit)d...

通过frp进行内网穿透

因为ngrok会定义刷新域名,有点限制,如果没有服务器域名,用他合适,如果有自己的服务器、域名,则用frp:按照https://blog.csdn.net/mirage003/article/deta...

k8s学习

k3s学习环境安装,准备3台虚拟机,centos7.6以上操作每台机子都要执行,操作完成后,修改主机名hostnamectl set-hostname k8s-master...

mysql5.6导入mysql8的坑

1、虽然在mysql8里设置数据库的排序规则是utf8mb4_general_ci ,但是导入后,却都被变成了utf8mb4_0900_ai_ci解决:用navicae导出的,表语句中没有COLLAT...

mac m1使用docker mysql踩坑

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

宝塔nginx配置允许各种文件的下载

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|pdf|doc|docx|xls|xlsx|rar|zip|gz|7z|ppt|pptx|mp3|...

发表评论    

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