我使用Docker Compose创建了一个Django项目:
Dockerfile
FROM python:2.7
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD . /code/
RUN pip install -r requirements.txt
WORKDIR /code/example
ENTRYPOINT ["python", "manage.py"]
docker-compose.yml
postgres:
image: postgres
ports:
- '5432:5432'
django-project:
build: .
command: runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- '8000:8000'
links:
- postgres
它工作得很好。 但是通过容器“django-project”创建的所有新文件都具有根所有者和组。
我尝试在Compose配置中为容器“django-project”添加user:user
。
但是出现异常User user not found
。
我尝试使用以下代码在容器中添加user
:
ENV HOME_USER user
ENV HOME_PASS password
RUN useradd -m -s /bin/bash ${HOME_USER} && \
echo "${HOME_USER}:${HOME_PASS}"|chpasswd && \
adduser ${HOME_USER} sudo && \
echo ${HOME_USER}' ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
但是异常仍然存在。
我该如何为通过Docker容器创建的所有新文件应用非root所有权?
docker-compose up
。我能将此用户设置为所有新文件的所有者吗? - petrikoz