[Linux] UniFi Controller and Docker

簡單做個筆記:

以下都是使用一般user權限,不用root。畢竟一開始也有將某個user開通docker使用權限了。(參考上篇)

$ cd /home
$ mkdir -p unifi/data
$ mkdir -p unifi/log

# 測試指令:
$ docker run --rm --init -p 8080:8080 -p 8443:8443 -p 3478:3478/udp -e TZ='Asia/Taipei' -v /home/unifi:/unifi --name unifi jacobalberty/unifi:latest
 
     --rm:其用途就是在我們執行完指令後,可以不用再下 docker rm 的指令去刪除容器,直接在執行完指令後, Docker可以自動幫我們刪除容器。
     latest:本來要裝穩定版,但原本就有運作的UniFi Controller,他已經升級到最新版本,所以這邊也跟著抓最新版本
 

# 實際上線指令:
$ docker run -d \
     --restart=unless-stopped \
     --net=host \
     --name=unifi \
     -e TZ='Asia/Taipei' \
     -e RUNAS_UID0=false \
     -v /home/unifi:/unifi \
     jacobalberty/unifi:latest

     --net=host:是為了允許L2發現。如果不需要L2發現,只需映射Port即可。
     -e RUNAS_UID0 改成 false,讓 Controller 不要用 root 身份運作。


# 未來我該如何升級呢?
 $ docker pull jacobalberty/unifi:stable
 $ docker stop unifi
 $ docker rename unifi unifi.save

然後再做一次run指令,跟上面相同
 $  docker run -d \
     --restart=unless-stopped \
     --net=host \
     --name=unifi \
     -e TZ='Asia/Taipei' \
     -e RUNAS_UID0=false \
     -v /home/unifi:/unifi \
     jacobalberty/unifi:latest