How to give folder permissions inside a docker container Folder
As the Other user already pointed out, move USER admin
to a later step
FROM python:2.7
RUN pip install Flask==0.11.1
RUN useradd -ms /bin/bash admin
COPY --chown=admin:admin app /app
WORKDIR /app
USER admin
CMD ["python", "app.py"]
For versions release v17.09.0-ce and newer you can use the optional flag --chown=<user>:<group>
with either the ADD
or COPY
commands.
For example
COPY --chown=<user>:<group> <hostPath> <containerPath>
The documentation for the --chown flag is documented on Dockerfile Reference page.
I guess you are switching to user "admin" which doesn't have the ownership to change permissions on /app directory. Change the ownership using "root" user. Below Dockerfile worked for me -
FROM python:2.7
RUN pip install Flask==0.11.1
RUN useradd -ms /bin/bash admin
COPY app /app
WORKDIR /app
RUN chown -R admin:admin /app
RUN chmod 755 /app
USER admin
CMD ["python", "app.py"]
PS - Try to get rid of "777" permission. I momentarily tried to do it in above Dockerfile.