我有一个正在运行的ECS容器,它没有从写到它正在挂载的s3桶的新文件中接收更新
的意思,当一个新的文件写入到S3 bucket,我无法看到它的容器我安装。
图片:
FROM cubejs/cube:v0.29.17
RUN apt-get update
RUN apt-get -y install s3fs
COPY ./entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
CMD ["cubejs", "server"]
entrypoint.sh:
#!/bin/bash
set -e
bucket=muhbucket
[ ! -d /cube/conf/schema ] && mkdir /cube/conf/schema
s3fs ${bucket} /cube/conf/schema -o ecs
echo "Mounted ${bucket} to /cube/conf/schema"
exec "$@"
s3fs 1.87及以后版本的stat_cache_expire
值为900秒(15分钟),这会延迟更新。您可以降低这个值,尽管它会使readdir
这样的操作变慢。S3fs 1.86和更早的缓存文件永远,这使得多客户端更新是不可能的。一些旧的Linux发行版,如Ubuntu 20.04,继续发布这些旧的s3fs版本,所以你可能会不小心使用它们。