I'm using python to create templates of docker projects, it is working fine until the very last step when I want to build the container to create the image. The project structure I have so far is similar to this:
project
|--flask_server.py
|--main_script.py
|--image_creator.sh
|--Dockerfile
|--requirements.txt
My issue is with the file: image_creator.sh, which basically has:
docker build -t my_project:latest .
That can't be executed without sudo. This is what I have tried so far in the python script, create_contaner.py, which have the following code:
import os
import subprocess
...
...
subprocess.call(['image_creator.sh'])
1)
python create_contaner.py
2)
sudo python create_contaner.py
3)
sudo su
python create_contaner.py
For all three cases I get:
PermissionError: [Errno 13] Permission denied: 'image_creator.sh'
For the last one
I have also tried adding my current user to the group that can run docker without using sudo as explained here
sudo groupadd docker
sudo gpasswd -a $USER docker
After doing it from the terminal I can execute:
docker build -t my_project:latest .
Which works with sudo, but if from that user I open python and try:
python create_contaner.py
I still get the same error. Someone has pointing me to use docker-compose instead of docker build, that that does not seem to get rid of the issue of the permissions.