Я борюсь с разрешениями на томе docker, мне запрещен доступ для записи.
Это небольшая часть моего docker файла
FROM ubuntu:18.04
RUN apt-get update && \
apt-get install -y \
apt-transport-https \
build-essential \
ca-certificates \
curl \
vim && \............
RUN curl -sL https://deb.nodesource.com/setup_8.x | bash - && apt-get install -y nodejs
# Add non-root user
ARG USER=user01
RUN useradd -Um -d /home/$USER -s /bin/bash $USER && \
apt install -y python3-pip && \
pip3 install qrcode[pil]
#Copy that startup.sh into the scripts folder
COPY /scripts/startup.sh /scripts/startup.sh
#Making the startup.sh executable
RUN chmod -v +x /scripts/startup.sh
#Copy node API files
COPY --chown=user1 /node_api/* /home/user1/
USER $USER
WORKDIR /home/$USER
# Expose needed ports
EXPOSE 3000
VOLUME /data_storage
ENTRYPOINT [ "/scripts/startup.sh" ]
Также небольшая часть часть моего запуска. sh
#!/bin/bash
/usr/share/lib/provision.py --enterprise-seed $ENTERPRISE_SEED > config.json
Затем моя команда docker builds:
sudo docker build -t mycontainer .
И команда запуска docker:
sudo docker run -v data_storage:/home/user01/.client -p 3008:3000 -itd mycontainer
У меня проблема в том, что скрипт Python создаст папку: /home/user01/.client и скопирует туда несколько файлов. Это всегда работало нормально. Но теперь я хочу эти файлы, которые являются файлами данных, в томе для резервного копирования. И когда я сопоставляю свой том, я получаю отказ в разрешении, поэтому скрипт python больше не может писать.
Так что в конце моего dockerfile эта инструкция в сочетании с сопоставлением в docker Команда run дает мне отказано в разрешении:
VOLUME /data_storage
Есть предложения о том, как решить эту проблему? еще несколько разрешений, необходимых для "user01"? Спасибо