-
-
Notifications
You must be signed in to change notification settings - Fork 64
Description
OS: Ubuntu 22.04
Docker Version: 20.10.22
Sample Docker-Compose:
version: "3.6"
services:
php-fpm:
container_name: "php-fpm"
build:
context: ./services/php-fpm
dockerfile: Dockerfile
volumes:
...
- $VOLUME_S3FS_PUBLIC:/var/www/html/sites/default/files
...
depends_on:
- s3fs-public
...
s3fs-public:
container_name: "s3fs-public"
image: efrecon/s3fs:1.91
environment:
AWS_S3_BUCKET: $MEDIA_S3_BUCKET_PUBLIC
AWS_S3_ACCESS_KEY_ID: $MEDIA_S3_KEY
AWS_S3_SECRET_ACCESS_KEY: $MEDIA_S3_SECRET
AWS_S3_MOUNT: '/opt/s3fs/bucket'
S3FS_DEBUG: 1
S3FS_ARGS: ''
devices:
- /dev/fuse
cap_add:
- SYS_ADMIN
security_opt:
- "apparmor:unconfined"
volumes:
- '${VOLUME_S3FS_PUBLIC}:/opt/s3fs/bucket:rshared'
The issue I'm having is when I run docker compose up
against the above config (some other containers and env vars omitted), the s3fs volumes don't appear to be shared with the host or containers.
This is the output from a docker compose log for the s3fs-public container:
s3fs-public | Mounting bucket dev-website-public onto /opt/s3fs/bucket, owner: 0:0
s3fs-public | FUSE library version: 2.9.9
s3fs-public | nullpath_ok: 0
s3fs-public | nopath: 0
s3fs-public | utime_omit_ok: 1
s3fs-public | unique: 2, opcode: INIT (26), nodeid: 0, insize: 56, pid: 0
s3fs-public | INIT: 7.34
s3fs-public | flags=0x33fffffb
s3fs-public | max_readahead=0x00020000
s3fs-public | INIT: 7.19
s3fs-public | flags=0x00000039
s3fs-public | max_readahead=0x00020000
s3fs-public | max_write=0x00020000
s3fs-public | max_background=0
s3fs-public | congestion_threshold=0
s3fs-public | unique: 2, success, outsize: 40
If I docker exec s3fs-public sh
and navigate to ./bucket
I can see the contents of the remote s3 bucket. But if I am on the host and navigate to $VOLUME_S3FS_PUBLIC
(which the container creates - in this case /media/s3fs-public
) then I can't see the contents of the remote s3 bucket. Similarly, if I docker exec php-fpm bash
and navigate to /var/www/html/sites/default/files
I can't see the contents of the remote s3 bucket either.
I have also tried cloning this repo, setting my S3 credentials in a .env
, and running docker compose up
against the untouched docker-compose.yml
file, but am getting the same result - i.e. can't see the remote s3 files in ./bucket
.
Is there additional configuration I need to make in order for the mounted s3fs to be shared with the host and other containers?
Thanks.