开发喵星球

AnythingLLM 在Ubuntu生成镜像

AnythingLLM 在Ubuntu生成镜像

这里遇到了很多的问题,开始不管是用 docker build 还是 docker-compose build都报错。后来经过折腾之后才发现 ./docker/Dockerfile 文件它是支持多平台编译的。

那为什么在Windows下没有问题呢?其实原因是我Windows下用的是Docker Desktop,而它自带buildx工具,会自动识别当前系统平台,而ubuntu下没有集成buildx。

安装buildx

下载:

export BUILDX_VERSION=(curl -s https://api.github.com/repos/docker/buildx/releases/latest | grep -oP '"tag_name": "\K(.*)(?=")')
curl -LO https://github.com/docker/buildx/releases/download/{BUILDX_VERSION}/buildx-${BUILDX_VERSION}.linux-amd64

安装:

mkdir -p ~/.docker/cli-plugins
mv buildx-${BUILDX_VERSION}.linux-amd64 ~/.docker/cli-plugins/docker-buildx
chmod +x ~/.docker/cli-plugins/docker-buildx

安装完成

docker buildx version

使用,这个工具也是个docker:

docker buildx create --use
docker buildx inspect --bootstrap

生成镜像

用buildx指定platform

docker buildx build --platform linux/amd64 --build-arg ARG_UID=1000 --build-arg ARG_GID=1000 -f ./docker/Dockerfile  -t anythingllm:my_1.0 --load --output type=docker .

创建配置

创建db和env配置文件

cd /var/lib/anythingllm-my
mkdir logs
touch anythingllm.db
touch .env
chown 1000:1000 /var/lib/anythingllm-my/ -R

这里要注意的是一定要给目录/var/lib/anythingllm-my修改owner(最后一条命令),不然docker启动会失败,报写readonly db的错误。

启动docker

不建议用docker-compose

export STORAGE_LOCATION=/var/lib/anythingllm-my &&
docker run -d \
 --name anythingllm-my \
 --add-host=host.docker.internal:host-gateway \
 --env STORAGE_DIR=/app/server/storage \
 -p 3001:3001/tcp \
 --restart=always \
 --user anythingllm \
 -v {STORAGE_LOCATION}:/app/server/storage \
 -v{STORAGE_LOCATION}/.env:/app/server/.env \
 -v ${STORAGE_LOCATION}/logs:/app/server/logs/ \
 -w /app \
 anythingllm:my_1.0

修改文件 ./docker/docker-entrypoint.sh 如下,增加了输出服务端log:

#!/bin/bash
{
  cd /app/server/ &&
    npx prisma generate --schema=./prisma/schema.prisma &&
    npx prisma migrate deploy --schema=./prisma/schema.prisma &&
    node /app/server/index.js &> /app/server/logs/server.log
} &
{ node /app/collector/index.js; } &
wait -n
exit $?

这样就可以在ubuntu上定制自己的anything镜像了。

   
分类:玩技术 作者:荡荡, 浩浩 发表于:2024-07-16 14:18:30 阅读量:77
<<   >>


powered by kaifamiao