1. Dockerfile
FROM alpine:latest as builder
RUN apk add --no-cache curl jq unzip
WORKDIR /tmp
ENV REPO="wozulong/fuclaude"
RUN ARCH=$(uname -m) && \
if [ "$ARCH" = "x86_64" ]; then \
FILE_PATTERN="linux-amd64-.*\.zip"; \
elif [ "$ARCH" = "aarch64" ]; then \
FILE_PATTERN="linux-arm64-.*\.zip"; \
fi && \
TAG=$(curl -s "https://api.github.com/repos/$REPO/releases/latest" | jq -r '.tag_name') && \
curl -s "https://api.github.com/repos/$REPO/releases/tags/$TAG" | jq -r --arg FILE_PATTERN $FILE_PATTERN '.assets[] | select(.name | test($FILE_PATTERN)).browser_download_url' | xargs -n 1 curl -LO && \
unzip -P linux.do '*.zip' -d ./ && \
ZIP_FILE=$(ls *.zip) && DIR_NAME=$(basename "$ZIP_FILE" .zip) && mv $DIR_NAME/* . && \
sed -i 's/127.0.0.1/0.0.0.0/g' config.json && \
rm -rf *.zip && rmdir $DIR_NAME
FROM alpine:latest
WORKDIR /app
COPY --from=builder /tmp/ .
EXPOSE 8181
CMD ["./fuclaude"]
2. 构建命令
将 username
修改为自己的用户名。
docker buildx build --platform linux/amd64,linux/arm64 -t username/fuclaude:latest . --push
3. Docker-Compose 部署
保存下面的内容为 docker-compose.yml
文件,并在相同目录下执行 docker-compose up -d
来部署服务。
version: '3' # 使用 3.8 版本的 docker-compose 文件格式
services:
fuclaude:
image: pengzhile/fuclaude:latest
ports:
- "8181:8181" # 将容器的 8181 端口映射到宿主机的 8181 端口
restart: always # 设置容器总是重新启动