ผลลัพธ์ที่แตกต่างกับนักเทียบท่าวิ่งและนักเทียบท่า?

Aug 18 2020

ฉันใช้อิมเมจนี้เพื่อเมานต์ระบบไฟล์ unionfs เมื่อฉันเรียกใช้คอนเทนเนอร์ด้วยdocker runมันจะทำงานได้อย่างสมบูรณ์ แต่เมื่อฉันใส่เงื่อนไขเดียวกันเข้าไปdocker-composeก็ไม่ได้ผล ดูเหมือนจะเป็นปัญหากับตัวแปรด้านสิ่งแวดล้อม (ฉันสงสัย)

นักเทียบท่าเขียน config:

  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 จะถูกติดตั้งสำเร็จ มีสาเหตุใดบ้างที่เกิดขึ้น ทั้งสองเหมือนกันใช่ไหม?

คำตอบ

3 toydarian Aug 18 2020 at 09:29

ปัญหาที่นี่คือเครื่องหมายคำพูดซึ่งได้รับการปฏิบัติที่แตกต่างกันตามที่คุณระบุตัวแปรในไฟล์ 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

อ้างถึงคำถามนี้เช่นกัน
และฉันเพิ่งพบปัญหานี้ใน GitHub