JuiceFS內(nèi)置的gateway是Minio更換 License 前的版本,比較老,沒有一些新功能或者一些 bug 修復(fù)。后來開發(fā)團隊基于更新的 Minio 版本 fork 并實現(xiàn)了其 gateway 后端。所以能用更多新功能,但需要我們自己編譯
但部分高階功能Gateway并不支持(Minio官方源碼中不支持非server模式下調(diào)用adminapi),所以Settings項下的功能都不能用
- 獲取并編譯源碼(編譯環(huán)境需要先安裝Golang并且版本不低于1.18)
#安裝編譯所需的make軟件
apt-get install build-essential
#下載gateway源碼
wget https://github.com/juicedata/minio.git
#編譯源碼
cd minio-gateway
make build
- 測試編譯結(jié)果
./minio gateway juicefs --console-address ':42311' redis://${REDIS}
- 編寫Dockerfile
FROM registry.access.redhat.com/ubi8/ubi-minimal
COPY minio minio
ENV MINIO_ROOT_USER=admin
ENV MINIO_ROOT_PASSWORD=12345678
ENV REDIS="redis:6379"
ENV REDIS_PASSWORD=12345678
EXPOSE 42311
ENTRYPOINT ./minio gateway juicefs --console-address ':42311' redis://${REDIS}
- 生成鏡像
docker build -t juicefs-minio-gateway .
- 運行Dokcer鏡像
docker run -d \
--name jfs-gtw-stg \
-e TZ=Asia/Shanghai \
-e MINIO_ROOT_USER=${MINIO_USER} \
-e MINIO_ROOT_PASSWORD=${MINIO_PWD} \
-e REDIS_PASSWORD=${REDIS_PWD} \
-e REDIS=${SERVER_IP}:6379/1 \
-p 80:42311 \
juicefs-minio-gateway