Question
· Jul 16, 2020

Error after cloning docker project from GitLab

I am currently working with docker for the first time the last month. I created a project with these 2 images:

My docker-compose.yml looks like this:

    version: '2'
    services:
        frontend:
            container_name: frontend
            build: 
                context: ./container/frontend
                dockerfile: Dockerfile.yaml
            ports:
                - "8080:80"
            
        backend:
            container_name: iris
            build: 
                context: ./container/IRISDataPlatform
                dockerfile: Dockerfile.yaml
            volumes:
                - ./container/IRISDataPlatform/ext:/external
            ports:
                - "9091:51773"
                - "9092:52773"
            environment:
                - ISC_DATA_DIRECTORY=/external/irissys
                - ICM_SENTINEL_DIR=/external
            command: --password-file /external/password.txt

The volume is used to store backend data persistent.

I created a new repo at GitLab and pushed everything there. Including the volume directory, which has the data in it, so everyone who clones this project has my test data available.

So I cloned the repo to test whether everything is working fine or not. I built and started my cloned project with docker-compose, but the backend-container exits everytime with:

[ERROR] Command "iris start IRIS quietly" exited with status 256

07/07/20-03:01:12:325 (373) 0 [Utility.Event] ISC_DATA_DIRECTORY=/external/irissys

07/07/20-03:01:12:332 (373) 0 [Utility.Event] Executing iris qlist

07/07/20-03:01:12:378 (373) 0 [Utility.Event] Versions are the same

07/07/20-03:01:12:382 (373) 0 [Utility.Event] Source /usr/irissys: 2020.2.0.204.0com

07/07/20-03:01:12:385 (373) 0 [Utility.Event] Destination /external/irissys: 2020.2.0.204.0com

07/07/20-03:01:12:388 (373) 0 [Utility.Event] Executing iris update IRIS directory=/usr/irissys datadir=/external/irissys versionid=2020.2.0.204.0com

07/07/20-03:01:12:412 (373) 0 [Utility.Event] Executing find /usr/irissys/ -type d -exec chmod ugo-w {} +

07/07/20-03:01:12:463 (373) 0 [Utility.Event] Executing chmod ugo-w /usr/irissys/

[ERROR] Possible causes:

[ERROR] - Incorrect user/group ownership of IRIS binaries

[ERROR] - Insufficient write permissions to ISC_DATA_DIRECTORY

[FATAL] Error starting InterSystems IRIS

So there seems to be a permission issue, but if I try to run the original project (which I created first and then pushed it to GitLab) everything is working fine and there is no such error.

Original project path: C:\Users\user1\Desktop\DockerPractice\DockerProject

Cloned project path: C:\Users\user1\Desktop\DockerPractice\test\containerexample

I dont know where my fault is and what I should try to fix it. I googled it already but havent found a solution yet.

Thanks in advance

Discussion (3)1
Log in or sign up to continue

The error says almost everything, you have a permission issue. While you have Windows, it's kind of a common issue.

You have to check permission flags. 

But, I would not recommend using Durable %SYS at all. I suppose you use it in development right now, so, no reasons to use Durable %SYS. Ready for development image should be prepared with Dockerfile.

Thanks for your reply, Dmitriy. 

I entered the container with docker exec -it and navigated to /external.  With ls -l thr result is:

drwxrwxrwx    1    root    root    4096    irissys

This does look good for me. I am not sure how I can fix this permission issue - Do you have a solution?

Yes, you are right. Currently I am just testing Docker and all this things are pretty new for me.

Since you are working on Windows, review the advice here: https://community.intersystems.com/post/using-intersystems-iris-containers-docker-windows

If you are seriously stuck, you might consider contacting the WRC for help.  Understanding the context and your overall goal can be important in solving troubles like this -- and also preventing other troubles that you might encounter.

Erik