นักเทียบท่าบน Raspbian?


24

ฉันจะใช้งาน Docker ( https://www.docker.io ) บน Raspbian ได้อย่างไร

คำแนะนำที่ฉันพบนั้นเป็นกระบวนการที่ทำด้วยมืออย่างมากโดยใช้ Raspbian แต่มีเคอร์เนลที่เก่ามากซึ่งดูเหมือนจะต้องใช้โปรแกรมปะแก้ นอกจากนี้ยังมีงานสร้างที่รู้จักกันดีโดยกลุ่ม resin.io แต่มันถูกสร้างขึ้นเป็นพิเศษสำหรับ Arch Linux

เคอร์เนล Raspbian ปัจจุบันคือ 3.10.25 ซึ่งทันสมัยพอที่จะใช้ในสิ่งที่นักเทียบท่าต้องการมากที่สุด ฉันไม่ได้อยู่เหนือการสร้างเคอร์เนลใหม่ แต่ก็ยังจำเป็น?

มีใครคิดวิธีการรับ Docker และความต้องการของมันไปใน Pi?


คำถามที่น่าสนใจ ฉันจะสนใจคำตอบของเรื่องนี้เช่นกัน คุณลองทำตามคำแนะนำเหล่านั้นแล้วหรือยัง?
Jivings

1
ไม่ฉันอ่านทุกอย่างที่ฉันสามารถหาได้ ฉันกำลังมองหาการใช้ Raspbian โดยเฉพาะดังนั้นคำแนะนำ Arch ไม่ได้มีประโยชน์มาก คำแนะนำของ Raspbian โดย Ken Cochrane นั้นค่อนข้างเก่าต้องใช้หลายขั้นตอนในการรับ Raspbian ที่ทันสมัย, Docker เดี่ยว ๆ และไม่ส่งผลให้เกิดการตั้งค่าการทำงาน ฉันหวังว่าจะได้รวบรวมข้อมูลก่อนที่จะใช้เวลากับมัน
Martijn Heemels

1
หนึ่งในสิ่งนี้ที่ฉันรู้คือคอนเทนเนอร์ Docker ไม่ได้ข้ามสถาปัตยกรรมจริงๆ เนื่องจากคอนเทนเนอร์แชร์เคอร์เนลกับ host-OS แอ็พพลิเคชันภายในคอนเทนเนอร์ถูกผูกไว้กับสถาปัตยกรรม armv6 คุณไม่สามารถสร้างภาพนักเทียบท่าใน x86 และรันบน armv6 ซึ่งทำให้เกิดข้อ จำกัด ในระบบการสร้างของคุณ มีฐานรูปภาพที่ใช้ได้ที่นี่: index.docker.io/u/resin/rpi-raspbian
Martijn Heemels

ดังนั้นจึงเป็นไปได้ แต่ไม่ทำในสิ่งที่คุณต้องการ?
Jivings

1
ดูเหมือนว่าการอ้างสิทธิ์ของพวกเขาself-sufficient container that will run virtually anywhereจะสั้นลง ดูเหมือนว่าจะทำงานในบางสิ่งบางอย่างนักเทียบท่าจะต้องเข้ากันได้กับอุปกรณ์ที่ทำงาน ดูเหมือนMonoหรือJavaมีแนวโน้มมากกว่า แต่ไม่ใช่สิ่งที่คุณต้องการจริงๆ ทำไมคุณต้องการสิ่งนี้ใน Pi แต่อย่างใด หากคุณพัฒนาสำหรับ Linux คุณควรพัฒนาในสิ่งที่สนับสนุนโดยกำเนิด
Piotr Kula

คำตอบ:


14

ใช่ฉันได้สร้างเคอร์เนลและย้าย Docker 1.0 ไปยัง Raspbian OS: Linux raspberrypi 3.10.37+ # 1 PREEMPT Sat 19 เม.ย. 13:28:05 UTC 2014 armv6l GNU / Linux

ฉันได้แบ่งปันผลงานของฉันใน GitHub เพื่อช่วยผู้อื่นเจ็บปวด ตามปกติฉันได้ให้ 'ตามสภาพ' โดยไม่มีการรับประกัน ;-)

คุณสามารถค้นหาไฟล์ kernel & docker tar ได้ที่นี่:

https://github.com/stevef1uk/docker_for_rpi


1
นั่นเป็นเรื่องที่น่าสนใจมาก ขอบคุณสำหรับการแบ่งปัน. คุณช่วยเพิ่มขั้นตอนในการคอมไพล์เคอร์เนลได้ไหม? โดยเฉพาะอย่างยิ่งคุณเปลี่ยนตัวเลือกใดในการกำหนดค่า ฉันจะพยายามสร้างเคอร์เนลของตัวเองผ่านขั้นตอนที่ระบุไว้ในelinux.org/RPi_Kernel_Compilation
Martijn Heemels

3
ที่จริงฉันทำไปแล้วรวมถึงวิธีการคอมไพล์ คุณสามารถค้นหาบล็อกของฉันได้ที่นี่: stevef1uk.blogspot.com/2014/06/… & stevef1uk.blogspot.com/2014/06/…
Seahope

7

คุณยังสามารถใช้ HypriotOS ซึ่งให้เคอร์เนล Docker และ Linux ล่าสุดสำหรับ Raspberry Pi เพียงแค่แฟลชภาพและเห็นนักเทียบท่าทำงานแล้ว!

http://blog.hypriot.com/

(การเปิดเผย: ฉันเป็นสมาชิกในทีมของ Hypriot)


ขอขอบคุณใช้ภาพใหม่ของคุณใน Pi2 ใหม่ของฉัน ใช้งานได้ดี! ฉันได้ลองแล้วกับภาพถ่าย armhf ที่หลากหลายจาก Docker Hub
Martijn Heemels

1
@MathiasRenner มีเหตุผล hypriot ไม่ใช่โอเพนซอร์สหรือไม่? คุณวางแผนที่จะสร้างรายได้จากภาพหรือไม่?
jottr

1
@jottr ขอบคุณสำหรับความสนใจของคุณ! ที่จริงแล้วทุกอย่างจาก Hypriot ที่คุณต้องการเรียกใช้นักเทียบท่าบน RPI นั้นเปิดมาแล้ว คุณต้องการ (1) เคอร์เนลที่เหมาะสม (github.com/hypriot/rpi-kernel-builder) และ (2) ไบนารีนักเทียบท่า (github.com/hypriot/rpi-docker-builder) เพียงแค่สร้างและติดตั้งทั้งคู่แล้วคุณก็พร้อมที่จะไป!
Mathias Renner

@MathiasRenner ดีมาก! ขอบคุณสำหรับตัวชี้
jottr

สิ่งนี้ยังใช้งานได้ดีกับ Raspbian Jessie; blog.hypriot.com/post/your-number-one-source-for-docker-on-arm
Arjan

3

หากคุณใช้ Raspbian:

sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install docker.io docker

ตอนนี้ Docker อยู่ในที่เก็บเริ่มต้นแล้ว

อัปเดต : น่าเสียดายที่เวอร์ชันนี้ค่อนข้างเก่าดังนั้นการดึงภาพจาก Docker Hubจะไม่ทำงานในขณะนี้


เวอร์ชันใน repo ที่เป็นค่าเริ่มต้นเก่ามาก 1.3.3 จากความคิดเห็นนี้ มันไม่ทำงานกับรีจิสทรีนักเทียบท่าอีกต่อไปทำให้ไร้ประโยชน์ส่วนใหญ่
DriverDan

ตกลง หวังว่าแพ็คเกจใน Raspbian จะได้รับการอัปเดตเร็ว ๆ นี้อาจจะมีข้อผิดพลาด / คำขอคุณสมบัติจะช่วย
Janghou

มี 1.8.3 (ตุลาคม 2015) ในพื้นที่เก็บข้อมูลการทดสอบ Raspbian
nphx

ดูblog.hypriot.com/post/your-number-one-source-for-docker-on-armสำหรับ Docker 1.10 บน Raspbian Jessie
Arjan

3

นักเทียบท่ารองรับ ARMv6 / v7 และแม้กระทั่ง ARM64 (v8?) ดังนั้นคุณจึงสามารถรันบน Raspberry Pis ของคุณได้

ทำตามคำแนะนำอย่างเป็นทางการจาก Docker ที่นี่: https://docs.docker.com/engine/installation/linux/docker-ce/debian/

หากคุณมี Raspbian Jessie หรือ Stretch (ตรวจสอบเอกสารข้างต้นสำหรับผู้อื่น) สิ่งนี้จะเป็น:

$ sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common
$ curl -fsSL https://download.docker.com/linux/$(. /etc/os-release; echo "$ID")/gpg | sudo apt-key add -
$ echo "deb [arch=armhf] https://download.docker.com/linux/$(. /etc/os-release; echo "$ID") \
     $(lsb_release -cs) stable" | \
     sudo tee /etc/apt/sources.list.d/docker.list
$ sudo apt-get update; sudo apt-get install docker-ce
$ sudo systemctl start docker

จากนั้นคุณสามารถทดสอบได้ (ต้องขอบคุณฝ่ายสนับสนุน multiarch Docker):

$ sudo docker run --rm hello-world

เพื่อหลีกเลี่ยงการพิมพ์sudoสำหรับการเรียกใช้ Docker ทุกครั้งคุณสามารถทำตามขั้นตอนพิเศษต่อไปนี้: https://docs.docker.com/engine/installation/linux/linux-postinstall/

สนุก!

PS: ฉันติดตั้ง Ubuntu Server 16.04 สำหรับ armhf แล้ว ฉันได้แล้วตามคำแนะนำเหล่านี้ (สำหรับอูบุนตู) เพื่อติดตั้งหางมัน: https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/#set-up-the-repository มันใช้งานได้เหมือนมีเสน่ห์เช่นกัน


2

ฉันเคยใช้ ...

curl -sSL https://get.docker.com | sh && sudo usermod -aG docker pi

อย่างไรก็ตามฉันเพิ่งเห็นการแจ้งเตือนการเลิกเมื่อเช้านี้ ...

WARNING: raspbian is no longer updated @ https://get.docker.com/
         Installing the legacy docker-engine package...

ฉันเพิ่งสังเกตสิ่งนี้เช่นกัน - คุณรู้ไหมว่ามันแปลว่าอะไร? ความหมายของสิ่งนี้คืออะไร?
davidA

มันหมายความว่าทำงานได้ในวันนี้ แต่มันอาจจะไม่ทำงานในวันพรุ่งนี้ นอกจากนี้ยังหมายความว่าคุณควรเขียนถึงโครงการ moby (เช่นคนที่ดูแลนักเทียบท่า) บอกพวกเขาว่ามันยอดเยี่ยมแค่ไหนและขอร้องพวกเขาให้คอยดูแลมันต่อไป : D
Zak

คุณรู้หรือไม่ว่ามีทางเลือกอื่น? สันนิษฐานได้ว่าฉันสามารถย้อนกลับไปที่กระบวนการติดตั้งด้วยตนเองบน Raspbian ได้หรือไม่?
davidA

ไม่ฉันไม่รู้ อย่างไรก็ตามโครงการ Moby ควรจะสามารถตอบคำถามนั้นได้
แซค

ขอบคุณฉันเอื้อมมือออกไป ฉันเกลียดที่จะเห็นนักเทียบท่าหายตัวไปจากราสเบียน - การทำงานไมโครไซต์ผ่านนักเทียบท่าบน RPi นั้นน่าทึ่ง ...
davidA
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.