2021年1月24日 星期日

智慧家庭-Home Assistant - 在Pi OS 上安裝Docker, Docker-Compose

雖然我也只是剛剛才摸索 ,但簡介一下Docker

一般來說在x86 OS 系統上如果要再執行另外一個OS,

不外乎就是使用 Virtual Machine (VM)之類的軟體,模擬出虛擬硬體再掛上OS 執行。

而Docker 則是產生Container (容器),跟VM 最大的不同是Container 仍然在原生OS上執行。

詳細差異可以參考下列網址:

https://docs.microsoft.com/zh-tw/virtualization/windowscontainers/about/containers-vs-vm

Docker-compose 算是 Docker 延伸,它是透過python 的指令配合yam or ymal 來設定要建立

的Container 參數,因此Docker-compose 必預要先安裝Docker。

而它會比起單純使用Docker 下指令、更新設定來得方便許多。


安裝Docker:

可以參照官網的步驟

https://devdojo.com/bobbyiliev/how-to-install-docker-and-docker-compose-on-raspberry-pi

或是

1. Install Docker 指令

  curl -sSL https://get.docker.com | sh

2. Add permission to Pi User to run Docker Commands ( 賦予 pi 使用者執行Dock 指令)

  sudo usermod -aG docker pi

Reboot here or run the next commands with a sudo ( reboot now )

3. Change python alias to python3

  alias python=python3

4. Install dependencies for docker-compose

  sudo apt-get install libffi-dev libssl-dev

  sudo apt-get install -y python python3-pip

  sudo apt-get remove python-configparser

5. Install docker-compose

  sudo pip3 install docker-compose

安裝完畢之後,我們可以先建立一個portainer,它是透過網頁GUI介面來管理Docker

相較於用指令的方式管理又更友善了。

建立的安裝設定檔(yml)如下:

==============================================

version: '3'

services:
  portainer:
    image: portainer/portainer
    container_name: portainer
    restart: always
    ports:
      - "9000:9000"
    command: -H unix:///var/run/docker.sock
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /home/pi/hassio/portainer:/data:rw

==============================================

將此設定檔存成 docker-compose.yml

再將到yml的同目錄底下執行docker-compose建立指令:

docker-compose up -d
完成之後,就可以到portainer網頁去管理docker。

Default Address 為 127.0.0.1:9000 或是 你的系統IP:9000


接下來安裝Home-assistant 也是一樣的做法,寫yml設定再到該目錄下執行 

  docker-compose up -d

或者你也可以跟 portainer 寫入同一個docker-compose.yaml裡再執行指令,一併安裝






沒有留言:

張貼留言