我可以像这样执行 docker run
命令…
docker run --rm --user $(id -u):$(id -g) -e MYDATA=/some/path/to/data -e USER=$USER -p 8883-8887:8883-8887 ...
但是,在 Docker Compose 中,当我写出以下内容时…
version: '3.7'
services:
container_name: some-server
image: some:img
user: $(id -u):$(id -g)
...
… 这没用。
我知道我要求 docker-compose up
执行子 shell 命令替换,但它不能。
有没有办法做到这一点?
原文由 ingyhere 发布,翻译遵循 CC BY-SA 4.0 许可协议
试试 这个
所以,你需要把:
在您的 docker compose 中并提供 UID 和 GID 作为 docker-compose 参数
(或将 UID 和 GID 定义为环境变量)。