mjstealey / irods-provider-postgres Goto Github PK
View Code? Open in Web Editor NEWiRODS catalog provider in Docker - PostgreSQL ICAT - versions 4.1.x and 4.2.x
License: MIT License
iRODS catalog provider in Docker - PostgreSQL ICAT - versions 4.1.x and 4.2.x
License: MIT License
Add previous 4.2.x versions
When an --env-file
is provided (as in Example 2), the setup_irods.py script eats 100% of the CPU and never completes. This is true even when the --env-file
contains the exact same values specified by the ENV
directives in the dockerfile. It also occurs when using the environment file provided in Example 2.
The docker container fails when ran from the image. I was following the example: Persistent Data when I encountered the error. Here are the steps I took...
I pulled the image.
($ sudo docker pull mjstealey/irods-provider-postgres:latest)
After that I made the volumes on the host for var_irods, var_pgdata, and etc_irods.
($ sudo mkdir var_irods)
Then the container fails by exiting in the first second when I run it.
($ sudo docker run -d --name provider -h irods-provider -v /var/provider/var_irods:/var/lib/irods -v /var/provider/etc_irods:/etc/irods -v /var/provider/var_pgdata:/var/lib/postgresql/data mjstealey/irods-provider-postgres:latest -i run_irods)
I tried runnning it again with the -ti flag instead of -d and got the following message.
cp: cannot create regular file '/var/lib/postgresql/data/postgresql.tar.gz': Permission denied
Attempting to start a container with pre-existing configuration/database/"vault" fails within 20 seconds of the run command with no obvious cause. Two separate test cases have the same result:
In essence, this feature interferes with trying to persist data through a stop-start cycle.
The irods provider is failing to restart after the container has been removed when using named volumes. I have been able to work around this error with bind mounts you originally presented. I wanted to bring this to your attention @mjstealey just in case anyone else is experiencing this when using named volumes. Here is the error code.
2017-11-16 17:13:55.550 UTC [48] FATAL: data directory "/var/lib/postgresql/data" has group or world access
2017-11-16 17:13:55.550 UTC [48] DETAIL: Permissions should be u=rwx (0700).
My OS is Centos 7 Atomic Host.
Here are the commands I ran to produce the error.
$ docker pull mjstealey/irods-provider-postgres:latest
$ docker run -ti --name provider -h irods-provider -v var_irods:/var/lib/irods:z -v etc_irods:/etc/irods:z -v var_pgdata:/var/lib/postgresql/data:z mjstealey/irods-provider-postgres:latest -i run_irods
$ docker stop provider
$ docker rm provider
$ docker run -ti --name provider -h irods-provider -v var_irods:/var/lib/irods:z -v etc_irods:/etc/irods:z -v var_pgdata:/var/lib/postgresql/data:z mjstealey/irods-provider-postgres:latest -x run_irods
Here is an example of a working command with bind mounts.
$ docker run -ti --name provider -h irods-provider -v /var/lib/docker/var_irods:/var/lib/irods:z -v /var/lib/docker/etc_irods:/etc/irods:z -v /var/lib/docker/var_pgdata:/var/lib/postgresql/data:z mjstealey/irods-provider-postgres:latest -i run_irods
Ref: #7
This permissions issue was cause by SE Linux. It was solved when adding a :z to the end of the volume mount.
($ docker run -ti --name provider -h provider -v /home/browe/var_irods:/var/lib/irods:z -v /home/browe/etc_irods:/etc/irods:z -v /home/browe/var_pgdata:/var/lib/postgresql/data:z mjstealey/irods-provider-postgres:4.2.2 -i run_irods)
Revise builds for 4.1.x versions back to 4.1.8 and include here
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.