NextChat 安装
安装 Docker
本文使用阿里云ECS,操作系统为 Debian 12.9
apt-get update
apt-get -y install ca-certificates curl
# 创建`/etc/apt/keyrings`目录,并下载Docker的官方GPG密钥到该目录
install -m 0755 -d /etc/apt/keyrings
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
# 将Docker仓库添加到系统的软件源列表
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] http://mirrors.aliyun.com/docker-ce/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
tee /etc/apt/sources.list.d/docker.list > /dev/null
apt update
apt-get install -y docker-ce docker-ce-cli containerd.io
docker -v
# 启动Docker守护进程并设置开机自启动
# 执行以下命令,启动Docker服务,并设置开机自启动
systemctl start docker
systemctl enable docker
# 执行以下命令,查看Docker是否启动
systemctl status docker配置 Docker 镜像
vim /etc/docker/daemon.json
# 写入
{
"registry-mirrors": [
"此处修改为从上面表格选用地址"
]
}
# 重启
systemctl daemon-reload
systemctl restart docker
# 检查是否生效
docker info
# 如果从结果中看到了配置的内容,说明配置成功安装 NextChat
docker pull yidadaa/chatgpt-next-web
docker run -d -p 3000:3000 \
-e OPENAI_API_KEY=sk-xxxx \
-e CODE=your-password \
yidadaa/chatgpt-next-web添加硅基流动的API
docker run -d -p 3000:3000 \
-e SILICONFLOW_API_KEY=sk-xxxx \
-e CODE=your-password \
yidadaa/chatgpt-next-webDocker 镜像开机自启动
docker run -d -p 3000:3000 \
-e SILICONFLOW_API_KEY=sk-xxxx \
-e CODE=your-password \
--restart always \
yidadaa/chatgpt-next-web只需要添加--restart always即可,如果要取消开启自启动
docker update --restart no <container_name_or_id>Docker 访问宿主机IP
当有些服务运行在 localhost 时,Docker 是无法直接访问的,因为它处于虚拟机的桥接模式,网络是独立的。此时可以添加 --network=host,直接使用主机的网络,这样它就能访问宿主机的127.0.0.1网络了。
但是有时候会有如下的报错
⨯ Failed to start server
Error: getaddrinfo ENOTFOUND iZbp1aam54vp93tesvmrwjZ
at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:107:26) {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'iZbp1aam54vp93tesvmrwjZ'
}说明它无法解析主机的DNS。这个时候我们强制给它指定另一个主机名就行了。
vim /etc/hosts
# add fellow
127.0.0.1 my-valid-hostname然后再运行
docker run -d --network host \
-e OPENAI_API_KEY=sk-xxxx \
-e CODE=your-password \
--hostname my-valid-hostname \
yidadaa/chatgpt-next-webDocker 移除镜像
# 查看镜像
docker images
docker rmi <container_name_or_id>
如果出现错误:
Error response from daemon: conflict: unable to delete xxxxxxx (must be forced) - image is being used by stopped container xxxxxxxx
说明你试图移除的 Docker 镜像目前正被一个停止运行的容器使用。
# 可以强制移除镜像(可能会破坏已停止的容器)
docker rmi -f <container_name_or_id>
# 移除所有停止的容器,然后删除镜像
docker container prune # 这将删除所有处于 "已退出 "状态的容器,从而释放镜像如果要与 Ollama 集成,可以选择 LobeChat,相关链接:
与 Ollama 集成
评论已关闭