Asus Edge R 보드에 Docker 설치하기

  • SDcard에 Debian 10 이미지 구운 후 부팅
  • 아래 스크립트로 도커 설치
$curl -sSL https://get.docker.com/ | sh
  • 설치 완료 후 아래와 같은 에러 발생 시 하단 명령어를 수행 한다.

Sub-process /usr/bin/dpkg returned an error code (1)

$sudo rm /var/lib/dpkg/info/*
$sudo rm dpkg --configure -a
$sudo apt update -y
$curl -sSL https://get.docker.com/ | sh
  • 이렇게 하면 도커는 설치 되지만 도커 실행 상태를 확인하면 도커가 실행이 안되어 있다.
$systemctl status docker.service

● docker.service - Docker Application Container Engine

     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)

     Active: failed (Result: exit-code) since Wed 2021-11-24 17:39:04 KST; 4s ago

TriggeredBy: ● docker.socket

       Docs: https://docs.docker.com

    Process: 5348 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (code=exited, status=1/FAILURE)

   Main PID: 5348 (code=exited, status=1/FAILURE)

8월 1 17:39:04 linaro@linaro-alip systemd[1]: docker.service: Scheduled restart job, restart counter is at 3.
8월 1 17:39:04 linaro@linaro-alip systemd[1]: Stopped Docker Application Container Engine.
8월 1 17:39:04 linaro@linaro-alip systemd[1]: docker.service: Start request repeated too quickly.
8월 1 17:39:04 linaro@linaro-alip systemd[1]: docker.service: Failed with result 'exit-code'.
8월 1 17:39:04 linaro@linaro-alip systemd[1]: Failed to start Docker Application Container Engine.
  • 세 번째 줄에 Start request repeated too quickly.라는 문구가 있다
$vi /lib/systemd/system/docker.service
  • 위 파일을 열어 Restart 설정을 Restart=no로 바꿔주었다
  • 이제 edgeR을 리부팅 하자.
  • 리부팅 후 여전히 docker가 실행이 안된다.
  • systemctl status docker 하면 메시지가 변경 되었다.
failed to start daemon: Error initializing network controller: error obtaining controller instance
  • 이제 아래와 같이 수행 하자
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
  • 이제 또 리부팅 하자
  • 이제 도커가 정상적으로 실행 된다.
  • 보드 리부팅 후 도커가 재실행 안되어 있으면 위 Restart=no에 no를 yes로 바꾸어 준다.