我正在尝试下载PDF并将其保存在经过docker化的应用程序中。问题似乎是我不允许在容器内写入文件。这是我采取的步骤:
我首先创建了一个命名卷myvol
:docker volume create myvol
。然后,我更新了docker-compose.yml
文件,如下所示:
version: "3"
services:
webpp:
container_name: webapp
image: webapp:latest
build: .
ports:
- "8000:8000"
volumes:
- myvol:/app
volumes:
myvol:
我的Dockerfile
:
FROM python:3.7
WORKDIR /app
ADD ./requirements.txt .
RUN pip install -r requirements.txt
ADD . .
RUN groupadd -g 999 appuser && \
useradd -r -d /app -u 999 -g appuser appuser
RUN chown -R appuser:appuser /app
USER appuser
RUN mkdir webapp/_tmp; chmod a+rwx webapp/_tmp/
EXPOSE 8000
ENTRYPOINT ["python","main.py"]
运行代码时,我被拒绝了权限。如果我exec
进入容器并尝试写一些东西,或者例如wget http://duck.com
也给我一个权限被拒绝的错误,也会发生同样的情况。
我不确定是怎么回事,甚至docker inspect
似乎都是正确的...
"Mounts": [
{
"Type": "volume","Name": "myvol","Source": "/var/lib/docker/volumes/myvol/_data","Destination": "/app","Driver": "local","Mode": "rw","RW": true,"Propagation": ""
}
],...
"Volumes": {
"/app": {}
},"WorkingDir": "/app","Entrypoint": [
"python","main.py"
],...