Oct 042017
 

Docker

  • apt-get install lsb-release
  • curl -sSL https://get.docker.com | sh
  • docker run –rm armv7/armhf-ubuntu_core /bin/echo ‘Hello world’

Docker-compose

  • git clone https://github.com/docker/compose.git
  • cd compose
  • docker build -t docker-compose:armhf -f Dockerfile.armhf .
  • docker run –rm –entrypoint=”script/build/linux-entrypoint” -v $(pwd)/dist:/code/dist -v $(pwd)/.git:/code/.git “docker-compose:armhf”
  • ls -l dist/
  • cp dist/docker-compose-Linux-armv7l /usr/local/bin/docker-compose
  • chown root:root /usr/local/bin/docker-compose
  • chmod 0755 /usr/local/bin/docker-compose
  • docker-compose version

Dockerized HASS(Home ASSistant)

  • apt-get install jq socat wget
  • wget https://raw.githubusercontent.com/home-assistant/hassio-build/master/install/hassio_install
  • chmod +x hassio_install
  • ./hassio_install -m raspberrypi3
  • http://rpi_ip_address:8123 접속하면 됨(최초 접속시 처리에 시간이 조금 소요됨)
  • 기본적으로 부팅시 자동실행되도록 설정되어 있슴

Dcokerized Node-Red

  • cd /root/node-red
  • wget https://github.com/pointbre/nodered-dietpi/blob/master/Dockerfile
  • docker build -t nodered-rpi:0.1 .
  • docker run -dit -p 1880:1880 –name nodered –privileged -v /root/node-red:/data nodered-rpi:0.1
  • 이제 http://rip_ip_address:1880 접속하면 됨
  • 한번 run한 이후로는 docker start nodered 혹은 docker stop nodered만 해주면 된다.
  • 부팅 후 자동 실행을 위해서는 /etc/systemd/system nodered.service 파일을 복사해넣은 후 cd /etc/systemd/system && systemctl enable nodered.service 하면 된다. 재부팅 후 HASS(port 8123, 실행이 시간이 약간 소요됨)와 Node-Red(port 1880)에 접속하면 두 서비스가 모두 살아있음을 확인할 수 있다.
  • 참고로, docker container안에서 백그라운드 서비스만 실행하는 경우, 실행 후 바로 docker container가 종료되는 현상이 있다. 이를 방지하기 위해서 bash 프로세스를 하나 더 실행하는 방식으로 node-red docker container가 계속 실행되도록 하는 트릭이 필요했다. 자세한 내용은 github을 참고하면 된다.