wsl2安装docker+dify+xinference
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