docker compose 启动 emqx 4.4
docker-compose.yml:
services:
emqx:
image: emqx:4.4.19
container_name: emqx
hostname: emqx
restart: on-failure:3
user: root
environment:
- TZ=Asia/Shanghai
- EMQX_ADMIN_PASSWORD=123@Abc.com
- EMQX_NODE_COOKIE=DJI_SECURE_COOKIE_2025
ports:
- "1883:1883"
- "8883:8883"
- "8083:8083"
- "8084:8084"
- "18083:18083"
volumes:
# 只挂载数据目录,配置文件使用容器默认
- ./emqx/data:/opt/emqx/data
官方镜像 Dockerfile:https://github.com/emqx/emqx-docker/blob/main/4.4/Dockerfile
FROM debian:11-slim RUN set -eu; \ apt-get update; \ apt-get install -y --no-install-recommends curl unzip ca-certificates; \ rm -rf /var/lib/apt/lists/* RUN set -eu; \ groupadd -r -g 1000 emqx; \ useradd -r -m -u 1000 -g emqx emqx ENV EMQX_VERSION=4.4.19 ENV OTP=otp24.3.4.2-1 RUN set -eu; \ arch=$(dpkg --print-architecture); \ if [ ${arch} = "amd64" ]; then sha256="bf4192c64c9006733b30f96fe99506a0a3af115c7073995a044cc0e60230675e"; fi; \ if [ ${arch} = "arm64" ]; then sha256="7cd27d5112380fd4d81029b10ba862a050b0bba8af1eb90aac669189fc3053c0"; fi; \ ID="$(sed -n '/^ID=/p' /etc/os-release | sed -r 's/ID=(.*)/\1/g' | sed 's/\"//g')"; \ VERSION_ID="$(sed -n '/^VERSION_ID=/p' /etc/os-release | sed -r 's/VERSION_ID=(.*)/\1/g' | sed 's/\"//g')"; \ pkg="emqx-${EMQX_VERSION}-${OTP}-${ID}${VERSION_ID}-${arch}.zip"; \ curl -f -O -L https://www.emqx.com/en/downloads/broker/${EMQX_VERSION}/${pkg}; \ echo "$(sha256sum $pkg)"; \ echo "$sha256 *$pkg" | sha256sum -c; \ unzip -q -d /opt $pkg; \ chgrp -Rf emqx /opt/emqx; \ chmod -Rf g+w /opt/emqx; \ chown -Rf emqx /opt/emqx; \ ln -s /opt/emqx/bin/* /usr/local/bin/; \ rm -rf $pkg WORKDIR /opt/emqx USER emqx VOLUME ["/opt/emqx/log", "/opt/emqx/data"] # emqx will occupy these port: # - 1883 port for MQTT # - 8081 for mgmt API # - 8083 for WebSocket/HTTP # - 8084 for WSS/HTTPS # - 8883 port for MQTT(SSL) # - 11883 port for internal MQTT/TCP # - 18083 for dashboard # - 4369 epmd (Erlang-distrbution port mapper daemon) listener (deprecated) # - 4370 default Erlang distrbution port # - 5369 for gen_rpc port mapping # - 6369 6370 for distributed node EXPOSE 1883 8081 8083 8084 8883 11883 18083 4369 4370 5369 6369 6370 COPY docker-entrypoint.sh /usr/bin/ ENTRYPOINT ["/usr/bin/docker-entrypoint.sh"] CMD ["emqx", "foreground"]

浙公网安备 33010602011771号