fix(emqx): v0.1.2 — procps для launcher (502 из-за ps: command not found); HISTORY: ошибки deck/502 задокументированы

This commit is contained in:
“Naeel”
2026-08-16 13:28:41 +04:00
parent 93af91f561
commit 2f127ee612
3 changed files with 33 additions and 2 deletions
+31
View File
@@ -641,3 +641,34 @@ store сам создаст таблицу iot_devices.
1. EMQX: образ `naeel/iot-emqx:latest` → узнать UUID namespace.
2. iot-service: образ `naeel/iot-service:latest` + env (см. ниже).
3. kubectl-патч auth/ACL URL в EMQX (команда в разделе 16).
---
## 20. EMQX-контейнер: ошибки deck и 502 — разбор (16.08)
### Ошибка 1: «Не указан applicationUsePort, expose содержит несколько портов»
- **Факт:** в форме deck-UI ПОЛЯ порта НЕТ — платформа берёт порт из EXPOSE образа.
- **Причина:** базовый `emqx/emqx:5.5.1` имеет 7 EXPOSE-портов
(18083, 1883, 4370, 5369, 8083, 8084, 8883), которые невозможно убрать из
дочернего Dockerfile (`docker inspect` подтверждает — порты наследуются).
- **Решение:** образ пересобран от чистого `debian:bookworm-slim` с deb-пакетом
EMQX 5.5.1: единственный `EXPOSE 8083`.
v0.1.1, digest `sha256:7de0ec8a…01dd08f`. Проверка: `{"8083/tcp":{}}`.
- **Урок:** для платформы «Простой HTTP контейнер» образ обязан иметь РОВНО один
EXPOSE-порт; наследуемые порты базового образа — блокер.
### Ошибка 2: 502 Bad Gateway (домен https://exqx.containerk8s.dev.nubes.ru/)
- **Диагностика:** deployment `containerk8s` в ns `2fdd9658-4995-494f-892a-d88dda7da1ee`,
READY 0/1, рестарты; лог пода:
`/usr/bin/emqx: line 457: ps: command not found`
- **Причина:** launcher-скрипт EMQX использует `ps`, а `debian:bookworm-slim`
не содержит пакета `procps`.
- **Решение:** добавлен `procps` в установку; v0.1.2, digest
`sha256:d3722528…debb30`, запушен (latest + v0.1.2). EXPOSE по-прежнему один.
- **Действие пользователя:** redeploy контейнера EMQX в deck-UI (образ
`naeel/iot-emqx:latest` — платформа подтянет новый digest по latest).
### Состояние
- EMQX-контейнер пока работает на старом сломанном образе — после redeploy
проверить: под Ready 1/1, лог без `ps: command not found`, wss-подключение.
- Образы: iot-emqx v0.1.2 (latest), iot-service v0.1.0 (latest) — оба на Docker Hub.
+1 -1
View File
@@ -9,7 +9,7 @@
FROM debian:bookworm-slim
RUN apt-get update \
&& apt-get install -y --no-install-recommends ca-certificates curl \
&& apt-get install -y --no-install-recommends ca-certificates curl procps \
&& curl -fsSL -o /tmp/emqx.deb \
https://github.com/emqx/emqx/releases/download/v5.5.1/emqx-5.5.1-debian12-amd64.deb \
&& (dpkg -i /tmp/emqx.deb || apt-get -f install -y) \
+1 -1
View File
@@ -1,6 +1,6 @@
# EMQX-контейнер для IoT (образ naeel/iot-emqx).
VERSION ?= v0.1.1
VERSION ?= v0.1.2
IMAGE ?= naeel/iot-emqx
.PHONY: docker-build docker-push