雖然我也只是剛剛才摸索 ,但簡介一下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裡再執行指令,一併安裝