diff --git a/HISTORY/2026-08-16-session-log.md b/HISTORY/2026-08-16-session-log.md index 06adf41..ab6a0ac 100644 --- a/HISTORY/2026-08-16-session-log.md +++ b/HISTORY/2026-08-16-session-log.md @@ -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. diff --git a/emqx/Dockerfile b/emqx/Dockerfile index 7429987..58d9d09 100644 --- a/emqx/Dockerfile +++ b/emqx/Dockerfile @@ -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) \ diff --git a/emqx/Makefile b/emqx/Makefile index 8177837..bd708ee 100644 --- a/emqx/Makefile +++ b/emqx/Makefile @@ -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