我正在嘗試在我的 Unifi 容器上設置靜態 IP,但網路好像都找不到這個容器。這是我在 docker compose 裡的網路設定:
services:
unifi-os-server:
image: Package unifi-os-server · GitHub
networks:
unifi_network:
ipv4_address: 192.168.0.50
container_name: Unifi-OS-Server
cgroup: host
cap_add:
- NET_RAW
- NET_ADMIN
extra_hosts:
host.docker.internal: host-gateway
.
networks:
unifi_network:
name: Unifi OS Server
driver: bridge
ipam:
config:
- subnet: 192.168.0.0/24
gateway: 192.168.0.1
虛擬交換器建立如下:
Virtual Switch(虛擬交換器):
Container Network (br-656dddb1c5d3)
IP 位址:
192.168.0.1
實體:
虛擬:
Unifi-OS-Server_Virtual Adapter 1
成員:
Container Station
卡住了,不知道是 docker compose 設定有問題,還是虛擬交換器設錯?有沒有人能幫我看看?
你需要把 compose 使用預先格式化的文字區塊貼上,否則它不會正確發佈。
你有看過 qnet 手冊嗎?
感謝你提供那個連結。我把 qnet 用於 dhcp 和 static 的驅動遺失了。
折騰了好幾個小時後,我調整了網路設定,總算讓它運作起來了:
driver: macvlan
driver_opts:
parent: eth2
有點好奇,我應該改用 qnet static driver(qnet 靜態驅動)嗎?
嗨,@Hypnosis4u2nv 以下資訊來自我們的研發團隊。
是否選擇使用 qnet 或 macvlan,取決於您的需求。
macvlan 就足夠了,如果您的唯一目標是讓容器能夠以一個靜態區網 IP 從其他網路設備上存取。
但如果您還需要 QNAP 主機系統 或 同一台 NAS 上的其他容器 能夠與該容器通訊,那麼 qnet 才是正確的選擇——因為 macvlan 有個已知限制,就是主機無法存取在 macvlan 介面上的容器。
如果需要透過 Container Station 介面部署 UniFi 容器的逐步教學,請參考以下常見問題: 如何在 QNAP NAS 上通過 Docker 部署 UniFi Network 應用程式? | QNAP
感謝你解釋這兩個驅動的差異。既然我只需要 Unifi OS Server 能夠和網路上的其他 Unifi 裝置(通知/adoption)通訊,而 QNAP 主機或容器本身不需要其他功能,我會繼續使用 macvlan 設定。
所以只要使用正確的 YAML,其實並不困難。下面是我用於 Uptime Kuma 容器的完整 YAML 檔案。請特別注意「Networks」區段……
services:
uptime-kuma:
image: louislam/uptime-kuma:2
container_name: uptime-kuma
restart: always
ports:
- "3001:3001" # 這會將容器的 3001 埠對映到主機的 3001 埠
volumes:
- /share/Container/uptime-kuma:/app/data # 設定持久化儲存空間
environment:
- TZ=America/Chicago # 設定時區(請改為你偏好的時區,這樣監控時間才會一致)
- UMASK=0022 # 手動設定檔案權限
networks:
kuma-network:
ipv4_address: 192.168.1.23
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3001"]
interval: 30s
retries: 3
start_period: 10s
timeout: 5s
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
networks:
kuma-network:
driver_opts:
iface: eth0
driver: qnet
ipam:
driver: qnet
options:
iface: eth0
config:
- subnet: 192.168.0.0/23
gateway: 192.168.1.1
這裡有點讓人困惑。
你用的是靜態 IP 192.168.1.23,但你定義的網路子網是 192.168.0.0/23?
我的子網路設定也是用 /24,而你設的是 /23。我不確定這對我使用 macvlan driver 的設定有什麼影響,但我看到 QNAP 文件中 qnet driver 確實有用到那個 /23 標註。
!92.168.0.0/23 的子網遮罩是 255.255.254.0。它可以使用從 192.168.0.1 到 192.168.1.254 的 IP。
沒有什麼「特別」的。就像 10.0.0.0/8 (255.0.0.0) 可以讓你使用從 10.0.0.1 到 10.255.255.254 的 IP 一樣。
我只是需要/想要一個更大的網路。
只要根據你的網路大小來設定就可以了。