Score:0

นักเทียบท่าเขียน ติดตั้งด้วย Snap ให้ข้อผิดพลาดในไฟล์ YML

ธง in

ฉันได้ติดตั้งนักเทียบท่าด้วย Snap Package Manager มันบอกว่ามีเวอร์ชั่นล่าสุด แต่ docker-compose แสดงข้อผิดพลาดเกี่ยวกับไวยากรณ์ซึ่งดูเหมือนว่าไม่ใช่เวอร์ชั่นล่าสุด

ตัวอย่าง docker-compose.yml

รุ่น: '3.9'

บริการ:

  เอกสาร:
    ภาพ: nginx: ล่าสุด
    container_name: เอกสาร
    ปริมาณ:
      - ./site:/var/www/html
      - ./etc/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
      - ./var/log/nginx:/var/log/nginx
    เครือข่าย:
      มายเน็ต:
        ipv4_address: 172.30.0.110

เครือข่าย:
  มายเน็ต:
    ภายนอก: จริง
    ชื่อ: my-net

บน DigitalOcean

$ docker-compose --version
docker-compose เวอร์ชั่น 1.27.4, build 40524192

และคำสั่ง docker-compose config ก็ดูดี

บน Ubuntu ของฉันด้วย Docker ใน Snap

cops@emdev01:~/cops/documentation$ นักเทียบท่า-เขียน --version
docker-compose เวอร์ชัน 1.25.5 ไม่ทราบรุ่น

และคำสั่ง docker-compose config ให้ผลลัพธ์ต่อไปนี้:

การกำหนดค่า $ docker-compose
ข้อผิดพลาด: ไม่รองรับเวอร์ชันใน "./docker-compose.yml" 
คุณอาจเห็นข้อผิดพลาดนี้เนื่องจากคุณใช้ไฟล์เขียนผิดเวอร์ชัน 
ระบุเวอร์ชันที่รองรับ (เช่น "2.2" หรือ "3.3") และกำหนดข้อกำหนดบริการของคุณ 
ภายใต้คีย์ `บริการ ' หรือละเว้นคีย์ 'เวอร์ชัน' และวางคำจำกัดความบริการของคุณที่ 
รูทของไฟล์เพื่อใช้เวอร์ชัน 1

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเวอร์ชันรูปแบบไฟล์เขียน โปรดดูที่ https://docs.docker.com/compose/compose-file/

นักเทียบท่าที่ใช้:

$ ซึ่งนักเทียบท่าเขียน
/snap/bin/docker-compose

และข้อมูลจะแสดงสิ่งต่อไปนี้:

$ sudo snap ข้อมูลนักเทียบท่า
ชื่อ: นักเทียบท่า
สรุป: รันไทม์คอนเทนเนอร์นักเทียบท่า
สำนักพิมพ์: Canonicalâ
URL ร้านค้า: https://snapcraft.io/docker
ติดต่อ: https://github.com/docker-snap/docker-snap/issues?q=
ใบอนุญาต: (Apache-2.0 และ MIT และ GPL-2.0)
คำอธิบาย: |

[SNIP]

บริการ:
  docker.dockerd: ง่าย เปิดใช้งาน ใช้งานอยู่
สแนปไอดี: sLCsFAO8PKM5Z0fAKNszUOX0YASjQfeZ
การติดตาม: ล่าสุด/เสถียร
วันที่รีเฟรช: วันนี้ เวลา 09:46 UTC
ช่อง:
  ล่าสุด/เสถียร: 20.10.8 2021-08-27 (1125) 122MB -
  ล่าสุด/ผู้สมัคร: 20.10.8 2021-09-29 (1234) 121MB -
  ล่าสุด/เบต้า: 20.10.9 2021-10-08 (1310) 122MB -
  ล่าสุด/ขอบ: 20.10.9 2021-11-09 (1399) 122MB -
  17.03/เสถียร: 17.03.2-ce-1 2017-07-20 (159) 42MB -
  17.03/ผู้สมัคร: 17.03.2-ce-1 2017-06-30 (159) 42MB -
  17.03/เบต้า: â
  17.03/ขอบ: 17.03.2-ce-1 2017-06-30 (159) 42MB -
ติดตั้ง: 20.10.8 (1125) 122MB -
adminlinux@emdev01:~$

ดังนั้น จากด้านบนดูเหมือนว่าฉันใช้ Docker ล่าสุดซึ่งติดตั้งมาพร้อมกับ Snap

เหตุใดฉันจึงได้รับข้อผิดพลาดในไฟล์ docker-compose

muru avatar
us flag
https://docs.docker.com/compose/compose-file/compose-file-v3/ กล่าวว่าไฟล์ Compose เวอร์ชันล่าสุด (`3.9`) ใช้งานโดย Docker Compose 1.27.0+ snap มีเวอร์ชันเก่ากว่าอย่างที่คุณเห็น Docker Compose ได้รับการเผยแพร่โดยอิสระจาก Docker เอง
BertC avatar
in flag
อ่าขอบคุณ และเนื่องจากไม่มีการนำเสนอ docker-compose เป็น Snap-Package ฉันจึงต้องติดตั้งด้วยวิธีที่ล้าสมัย
BertC avatar
in flag
ตกลงนี้ใช้ไม่ได้ /snap/bin/docker-compose ยังคงอยู่ที่นั่นและ docker-compose ที่ติดตั้งบน /usr/local/bin ไม่สามารถเข้าถึงได้โดยผู้ใช้ที่ไม่ใช่ priv
Score:0
ธง in

แก้ไขได้โดยการถอนการติดตั้ง Docker รุ่น Snap และติดตั้ง Docker แบบเก่าด้วย apt

เหตุผลก็คือ Snap ทำสิ่งแปลก ๆ @muru บอกฉันว่า docker-compose ไม่ได้เป็นส่วนหนึ่งของ Snap Package แต่มี /snap/bin/docker-compose อันนั้นเป็นเวอร์ชั่นเก่าและไม่มี Snap Package สำหรับ Docker-Compose นับประสาอะไรกับวันที่ล่าสุด

ดังนั้นฉันจึงลบ Docker ออกจาก Snap และติดตั้ง Docker อีกครั้งด้วย Apt

ตอนนี้ทุกอย่างทำงานได้ตามที่คาดไว้

muru avatar
us flag
ฉันไม่ได้บอกว่า docker-compose ไม่ได้เป็นส่วนหนึ่งของแพ็คเกจ docker snap ฉันบอกว่า docker-compose ถูกปล่อยเป็นอิสระจาก docker ดังนั้น docker snap ล่าสุดไม่จำเป็นต้องมี docker-compose ล่าสุด
BertC avatar
in flag
อ๊ะ โอเค ขอโทษ เข้าใจผิดแล้ว อย่างน้อยตอนนี้ฉันก็ใช้งานได้โดยไม่ต้องใช้ Snap

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา