将 s3fs 挂载为 docker 卷

Mount s3fs as docker volume

所以我只想将我的 s3 存储桶从亚马逊添加到我的 docker 群中。我在互联网上看到很多 "possible" 解决方案,但我无法连接它们以将我的存储桶的内容添加为卷。

所以我最后尝试的是这里的命令状态 (Is s3fs not able to mount inside docker container?):

docker run --rm -t -i --privileged -e AWS_ACCESS_KEY_ID=XXXX -e AWS_SECRET_ACCESS_KEY=XXXX -e AWS_STORAGE_BUCKET_NAME=XXXX docker.io/panubo/s3fs bash

它工作得很好,但如果我现在退出 bash,容器就会停止,我无法用它做任何事情。有没有可能把这个东西留下来加成卷?

或者如果我只是将存储桶安装在我的 Docker 实例上然后将其添加为本地卷,这会是更好的解决方案吗?这样会更好吗?

我做到了!

配置如下所示:

docker-compose.yml

volumes:
  s3data:
    driver: local

services:
  s3vol:
    image: elementar/s3-volume
    command: /data s3://{BUCKET NAME}
    environment:
      - BACKUP_INTERVAL={INTERVALL IN MINUTES (2m)}
      - AWS_ACCESS_KEY_ID={KEY}
      - AWS_SECRET_ACCESS_KEY={SECRET}
    volumes:
      - s3data:/data

将其插入 docker-compose 文件后,您可以将 s3 存储用作卷。像这样:

docker-compose.yml

linux:
  image: {IMAGE}
  volumes:
    - s3data:/data

希望这对你们未来的一些人有所帮助!

干杯。