【发布时间】:2020-12-07 10:51:55
【问题描述】:
我正在使用这个镜像来挂载一个 unionfs 文件系统。当我使用docker run 运行容器时,它可以完美运行,但是当我将相同的条件放入docker-compose 时,它就不起作用了。这似乎是环境变量的问题(我怀疑)。
docker-compose 配置:
unionfs:
container_name: unionfs
image: meyay/unionfs-mount:alpha
environment:
- TZ=Europe/Berlin
- PUID=1000
- GUID=1000
- READ_ONLY_DIR="/read-only/m/ro"
- READ_WRITE_DIR="/read-write/m/rw"
privileged: true
volumes:
- /home/ubuntu/sshfs:/read-write:slave
- /mnt/gdrive:/read-only:slave
- /mnt/unionfs/tvs:/merged:shared
docker-compose up 在容器中给我这个错误:Failed to open /run/s6/services/unionfs/"/read-write/m/rw"/: No such file or directory. Aborting!
如果我使用docker run 运行相同的图像:
docker run --rm \
--name unionfs \
-e TZ="Europe/Berlin" \
-e PUID=1000 \
-e GUID=1000 \
-e READ_ONLY_DIR="/read-only/m/ro" \
-e READ_WRITE_DIR="/read-write/m/rw" \
--privileged \
-v /home/ubuntu/sshfs:/read-write:slave \
-v /mnt/gdrive:/read-only:slave \
-v /mnt/unionfs/tvs:/merged:shared \
meyay/unionfs-mount:alpha
然后unionfs挂载将成功挂载。发生这种情况有什么原因吗?他们都是一样的,对吧?
【问题讨论】:
-
该图像是我从这个 github 存储库构建的自定义图像:github.com/meyayl/docker-unionfs-mount
-
似乎包含引号。像这样写:
READ_WRITE_DIR=/read-write/m/rw(另一个类似),看看是否有帮助。 -
@toydarian 是的,完成了这项工作。为什么呢?把环境变量写在引号里不是更好吗?
标签: docker docker-compose