【发布时间】:2021-01-09 14:26:13
【问题描述】:
有 docker-compose 使用基础 Dockerfile 为应用程序创建映像。
Dockerfile 如下所示。由于某些原因,有些行被省略了。
FROM ubuntu:18.04
RUN set -e -x ;\
apt-get -y update ;\
apt-get -y upgrade ;
...
USER service
在 docker-compose 中使用此映像并将命名卷添加到服务时,命名卷中的文件夹无法访问,并显示消息 Permission denied。 docker-compose 的部分如下所示。
version: "3.1"
services:
myapp:
image: myappimage
command:
- /myapp
ports:
- 12345:1234
volumes:
- logs-folder:/var/log/myapp
volumes:
logs-folder:
我的假设是 USER service 行有问题,我通过在 myapp 服务中设置 user: root 确认了这一点。
现在,下一个问题。我想避免手动创建卷和设置权限。我希望它使用 docker-compose 实现自动化。
这可能吗?如果可以,怎么做?
【问题讨论】:
-
你能在 docker compose 中做同样的事情吗?
标签: docker docker-compose