라즈 비아의 도커?


24

Raspbian 에서 Docker ( https://www.docker.io )를 어떻게 실행 합니까?

내가 찾은 지시 사항 은 Raspbian을 기반으로 하는 매우 수동적 인 프로세스 이지만 많은 패치가 필요한 매우 오래된 커널이 있습니다. 거기이기도 잘 알려진 빌드 resin.io의 사람들에 의해 있지만 특히 아치 리눅스를 위해 만들어졌다.

현재 Raspbian 커널은 3.10.25이며 Docker에 필요한 대부분의 것을 가질 수 있도록 현대적입니다. 새 커널을 구축하는 것은 아니지만 여전히 필요합니까?

누구나 Docker와 Pi의 요구 사항을 Pi에서 얻는 방법을 알아 냈습니까?


흥미로운 질문입니다. 또한 이것에 대한 답변에 관심이 있습니다. 그 지시를 전혀 시도하지 않았습니까?
Jivings

1
아니요, 찾을 수있는 모든 내용을 읽었습니다. 특히 Raspbian을 사용하려고하므로 아치 지침이별로 유용하지 않았습니다. Ken Cochrane의 Raspbian 지침은 매우 오래된 것처럼 보이며 Docker는 물론 Raspbian을 최신 상태로 유지하기 위해 많은 단계가 필요하며 작동하지 않습니다. 나는 그것에 많은 시간을 보내기 전에 정보를 수집하기를 바랐다.
Martijn Heemels

1
내가 깨달은 것은 Docker 컨테이너가 실제로 교차 아키텍처가 아니라는 것입니다. 컨테이너는 커널을 호스트 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 Apr 19 13:28:05 UTC 2014 armv6l GNU / Linux

다른 사람들의 고통을 덜기 위해 GitHub에서 출력을 공유했습니다. 평소와 같이 나는이 '있는 그대로'보증없이 제공했습니다 ;-)

커널 및 도커 타르 파일은 여기에서 찾을 수 있습니다.

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

Rapberry Pi에 최신 Docker 및 Linux 커널을 제공하는 HypriotOS를 사용할 수도 있습니다. 이미지를 플래시하고 Docker가 실행 중임을 확인하십시오!

http://blog.hypriot.com/

(공개 : 저는 Hypriot의 팀원입니다)


감사합니다. 새 Pi2에서 새 이미지를 사용하십시오. 잘 작동합니다! Docker Hub의 다양한 armhf 이미지로 시도했습니다.
Martijn Heemels

1
@MathiasRenner 최면이 공개 소스가 아닌 이유가 있습니까? 이미지로 수익을 창출 할 계획입니까?
jottr

1
@jottr 관심을 가져 주셔서 감사합니다! 실제로 Hypriot의 RPI에서 Docker를 실행하는 데 필요한 모든 것은 오픈 소스입니다. (1) 적절한 커널 (github.com/hypriot/rpi-kernel-builder)과 (2) Docker 바이너리 (github.com/hypriot/rpi-docker-builder)가 필요합니다. 둘 다 구축하고 설치하면 준비가 완료됩니다!
Mathias Renner

@MathiasRenner 아 좋은! 포인터에 대한 Thx.
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에서 이미지를 가져 오는 것이 현재 작동하지 않습니다.


기본 리포지토리의 버전은이 의견에 따라 1.3.3 이전 버전입니다. 더 이상 도커 레지스트리와 함께 작동하지 않아 대부분 쓸모가 없습니다.
DriverDan

동의했다. 잘만되면 Raspbian의 패키지가 곧 업데이트 될 것입니다. 버그 / 기능 요청이 도움이 될 것입니다.
Janghou

Raspbian 테스트 저장소에는 1.8.3 (2015 년 10 월)이 있습니다.
nphx

Raspbian Jessie의 Docker 1.10에 대해서는 blog.hypriot.com/post/your-number-one-source-for-docker-on-arm 을 참조하십시오 .
Arjan

3

Docker는 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

그런 다음 테스트 할 수 있습니다 (Docker multiarch 지원 덕분에).

$ sudo docker run --rm hello-world

sudo모든 Docker 호출에 대한 입력을 피하기 위해 다음과 같은 추가 단계를 수행 할 수 있습니다. https://docs.docker.com/engine/installation/linux/linux-postinstall/

즐겨!

추신 : armhf 용 Ubuntu Server 16.04를 설치했습니다. 그런 다음 Docker를 설치하려면 다음 지침 (우분투 용)을 따르십시오 : 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 프로젝트 (즉, docker를 유지하는 사람들)에게 편지를 쓰고 얼마나 멋진 지 알려주고 계속 유지하도록 간청하십시오. : D
Zak

대안이 있는지 아십니까? 아마도 나는 항상 Raspbian의 수동 설치 프로세스로 넘어갈 수 있습니까?
davidA

아니요, 잘 모르겠습니다. 그러나 Moby Project는 그 질문에 대답 할 수 있어야합니다.
Zak

고마워요 Docker가 raspbian에서 사라지는 것을 싫어합니다. RPi에서 Docker를 통해 마이크로 서비스를 실행하는 것은 놀라운 일입니다 ...
davidA
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.