gpt4 book ai didi

docker - docker run 和 docker-compose 的结果不同?

转载 作者:行者123 更新时间:2023-12-02 18:03:29 25 4
gpt4 key购买 nike

我正在使用这个镜像挂载一个 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这样的文件或目录。中止!

如果我使用 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挂载成功。有什么原因会发生这种情况吗?它们是相同的,对吧?

最佳答案

这里的问题是引号,当您在 yaml 文件中指定变量时,引号的处理方式不同。

你需要这样写:

  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

引用this question还有。
我刚找到this issue在 GitHub 上。

关于docker - docker run 和 docker-compose 的结果不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63465472/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com