fix(emqx): v0.1.2 — procps для launcher (502 из-за ps: command not found); HISTORY: ошибки deck/502 задокументированы
This commit is contained in:
@@ -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
@@ -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
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user