2017-01-20 8 views
2

Я пытаюсь изменить пользователя, который монтирует мои тоны докеров, но это «root» пользователь, который делает это вместо «безопасный пользователь». Зная, что если я делаю «chown -R/var/www» в файле Dockerfile, это не работает, поскольку точка монтирования еще не существует. как я могу сделать для изменения точки подключения пользователя?Docker-compose: объемы и пользователь

Мой докер-compose.yml:

version: '2' 
services: 
    code-front: 
    build: 
     context: ./code-front/ 
    container_name: code-front 
    volumes: 
     - $HOME/web/IV3/code-front:/var/www/ 

    nginx-front: 
    build: 
     context: ./nginx-front/ 
    container_name: nginx-front 
    ports: 
     - 8000:80 
    volumes_from: 
     - code-front 

Мой Nginx фронта/Dockerfile:

FROM nginx 

# ==================================================================== 
# Installation des differents paquets nécéssaire au bon 
# fonctionnement du container (NodeJs 6.x, sudo, ...) 
# ==================================================================== 
RUN apt-get update -y && apt-get upgrade -y && \ 
    apt-get install -y curl && \ 
    curl -sL https://deb.nodesource.com/setup_6.x | bash && \ 
    apt-get install -y nodejs && \ 
    apt-get install -y sudo && \ 
    apt-get install -y git 

# ==================================================================== 
#   Configuration de NGINX 
# ==================================================================== 
COPY interface_voyant_v3.conf /etc/nginx/conf.d/ 
RUN rm /etc/nginx/conf.d/default.conf 

# ==================================================================== 
#     Creation et configuration du user 
# ==================================================================== 
RUN groupadd -r safe-group && \ 
    useradd -r -m -g safe-group safe-user 

RUN usermod -u 1000 safe-user 

RUN chown safe-user:safe-group /usr/bin/nodejs && \ 
     chmod 774 /usr/bin/nodejs 

RUN chown safe-user:safe-group /usr/bin/node && \ 
     chmod 774 /usr/bin/node 

RUN chown safe-user:safe-group /usr/bin/npm && \ 
    chmod 774 /usr/bin/npm 

RUN chown safe-user:safe-group /usr/sbin/nginx && \ 
    chmod 774 /usr/sbin/nginx 

RUN mkdir /var/www/ && \ 
    chown -R safe-user:safe-group /var/www/ 

RUN echo '%safe-group ALL=NOPASSWD:/usr/sbin/nginx' >> /etc/sudoers 

RUN echo 'cd /var/www' >> /home/safe-user/.bashrc 

EXPOSE 80 

USER safe-user 
CMD ["sudo", "nginx", "-g", "daemon off;"] 

И мой код фронта/Dockerfile:

FROM busybox:glibc 

VOLUME /var/www 

Спасибо за ваш Помогите!

ответ

1

ничего не меняют в Докер-compose.yml

... 
volumes: 
    - $HOME/web/IV3/code-front:/var/www/ 
... 

создания каталога первого владельца & изменения перед созданием точки монтирования в Nginx фронта/Dockerfile

... 
RUN mkdir -p /var/www ; chown -R safe-user:safe-user /var/www 
VOLUME /var/www 
...