irods / contrib

A pooled collection of community-contributed code that works alongside iRODS
BSD 3-Clause "New" or "Revised" License
13 stars 19 forks source link

Docker image directory structure for volume mounting #32

Open chinchien-lin opened 1 year ago

chinchien-lin commented 1 year ago

Hi there,

I was wondering if there is a suggested way of mounting docker volume(s) to the iRODS docker container (iCat + iDrop) to keep the data persistent.

I checked the dockerfile, but couldn't figure out the directory structure of the docker image. Hoping if there is any suggestion/documentation for this.

Also, is there an up-to-date docker image we can use? From this dockerfile, it seems to be in version 4.1.3, and this image I found on DockerHub is in version 4.0.3. Not sure if the directory structure would change across versions?

alanking commented 1 year ago

Hi!

I wanted to start off by saying that the iRODS Consortium does not currently maintain the Docker image(s) in this repository and iDrop is no longer being maintained. We do not recommend using these.

As an alternative to iDrop, you may wish to check out metalnx: https://github.com/irods-contrib/metalnx-web/ This is actively being maintained and used in the community. Plus, there is more modern Docker support for that application.

As for volume mounts for data persistence, the catalog is just a database. So, if, for example, you're using Postgres, the data will be in the standard locations and so the catalog can be stored outside of the container via volume mounts as described here: https://github.com/docker-library/docs/blob/master/postgres/README.md#where-to-store-data

Any data you wish to retain in iRODS resources could go into storage resources with vault paths that are volume mounts in the container. The resource could be created like this:

iadmin mkresc ufs unixfilesystem my-persistent-hostname:/path/to/volume/mount

Hopefully that helps a little, and we can help get you where you're trying to go :)