Score:0

เข้าสู่ระบบ Docker ทั่วทั้งระบบ?

ธง ua

มีวิธีใดบ้างที่จะบันทึกทั้งเครื่อง / Docker daemon ลงในรีจิสตรี

ทุกสิ่งที่ฉันเห็นเกี่ยวกับการเข้าสู่ระบบนักเทียบท่าและตัวช่วยข้อมูลรับรองที่เป็นกรรมสิทธิ์ต่างๆ ใช้ ~/.docker/config.jsonคือต่อผู้ใช้

ฉันมีสถานการณ์ที่ฉันต้องการดึงรูปภาพจากรีจิสตรีส่วนตัว หลายคนมีสิทธิ์เข้าถึง sudo โดยพลการบนเครื่องเหล่านั้น และควรจะสามารถใช้ Docker กับรีจิสทรีของเราได้

เนื่องจากการเข้าถึง Docker ควรอ่านเป็นการเข้าถึงรูทของเครื่องอยู่ดี (เช่น ข้อมูลประจำตัวของผู้ใช้ไม่ปลอดภัยร่วมกันหากพวกเขาสามารถเรียกใช้ Docker ได้) และการเข้าถึง sudo ก็เหมือนกัน แต่โดยตรง ฉันต้องการตัดการไล่ล่าและบันทึกทั้งเครื่อง โดยที่ผู้ใช้ทุกคนไม่ต้องกระโดดผ่านห่วง

ฉันสามารถให้ไฟล์หนึ่งไฟล์ที่ทุกคนสามารถเชื่อมโยงไปยังพวกเขาได้ config.jsonแต่ฉันจะดีกว่าถ้าได้รับการดูแลตั้งแต่การเข้าสู่ระบบครั้งแรกในแต่ละเครื่อง

Score:3
ธง co

นึกถึงสามตัวเลือก:

  1. อย่าทำให้อิมเมจเป็นส่วนตัว แต่อนุญาตให้ทุกคนดึงอิมเมจที่สามารถเข้าถึงเซิร์ฟเวอร์รีจิสตรีได้แทนสิ่งนี้ค่อนข้างพบได้ทั่วไปในสภาพแวดล้อมเนื่องจากอิมเมจควรมีเฉพาะไลบรารีและไบนารีเพื่อเรียกใช้แอปพลิเคชัน ไม่ใช่ไฟล์การกำหนดค่า ความลับ หรือข้อมูลที่จะถูกฉีดเข้าไปในรันไทม์หรือจัดเก็บไว้ในวอลุ่ม

  2. หากทุกคนมีสิทธิ์เข้าถึง sudo ให้เรียกใช้คำสั่งนักเทียบท่าจาก sudo รวมถึงการเข้าสู่ระบบ ข้อมูลรับรองจะถูกเก็บไว้ภายใต้ผู้ใช้รูท ~/.docker/config.json

  3. สร้างตัวช่วยข้อมูลรับรองของคุณเองซึ่งเพิ่งส่งออกการเข้าสู่ระบบไปยังโฮสต์ อินเทอร์เฟซตัวช่วยข้อมูลประจำตัวนั้นค่อนข้างเรียบง่าย มีการดำเนินการ 4 อย่าง (จัดเก็บ รับ รายการ ลบ) ที่สามารถนำไปใช้กับเชลล์สคริปต์ได้ และสำหรับการเข้าสู่ระบบ คุณอาจต้องใช้การดำเนินการรับเท่านั้น

สคริปต์ตัวช่วยข้อมูลประจำตัวนั้นอาจดูเหมือนสคริปต์ที่เรียก นักเทียบท่าข้อมูลรับรองผู้ช่วยของคุณ (ที่ไหน ผู้ช่วยของคุณ สามารถเป็นชื่อที่คุณเลือกได้):

#!/bin/sh

your_registry='
{ "ServerURL": "การลงทะเบียนของคุณ",
  "ชื่อผู้ใช้": "ผู้ใช้ของคุณ",
  "ความลับ": "ผ่านของคุณ"
}
'

ถ้า [ "$1" = "รับ" ]; แล้ว
  อ่านชื่อโฮสต์
  กรณี "$hostname" ใน
    ทะเบียนของคุณ)
      echo "${your_registry}"
      ทางออก 0
      ;;
  เอสแซค
elif [ "$1" = "รายการ" ]; แล้ว
  echo "your-registry"
ไฟ
#อย่างอื่นจัดการไม่ได้
ทางออก 1

ทำให้ไฟล์นั้นใช้งานได้และวางไว้ในเส้นทาง จากนั้นผู้ใช้ทุกคน ~/.docker/config.json จะมีรายการผู้ช่วยเหลือข้อมูลประจำตัว (โปรดทราบว่า นักเทียบท่า-ข้อมูลประจำตัว- ไม่รวมอยู่ในไฟล์นี้ เฉพาะส่วนของชื่อไฟล์หลังจากนั้น):

{
  "credHelpers": {
    "โฮสต์ของคุณ": "ผู้ช่วยของคุณ"
  }
}

โพสต์คำตอบ

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