docker离线部署 emqx-enterprise-5.10.0-docker-amd64.tar.gz时运行报错

环境

  • EMQX 版本:5.10.0
  • 操作系统版本:ubuntu 22.04.4 LTS

重现此问题的步骤

  1. 离线环境下部署
  2. docker load -i emqx-enterprise-5.10.0-docker-amd64.tar.gz
  3. docker run -d --name emqx-enterprise -p 1883:1883 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 emqx/emqx-enterprise:5.10.0
    4.运行异常,查看log提示:
    ERROR: Failed to create thread: Operation not permitted (1)
    ERROR: Please ensure it is running on the correct platform:
    ERROR: arch: “x86_64-pc-linux-gnu”
    wordsize: 64
    os: “debian12”
    erlang: “27.2-3”
    elixir: “none”
    relform: “tgz”
    ERROR: Version=5.10.0
    ERROR: Required dependencies: openssl-1.1.1 (libcrypto), libncurses and libatomic1

预期行为

离线环境加载镜像后,执行运行命令可正常运行,无需再准备相关依赖包

实际行为

运行异常

试了一下是可以的。
建议检查一下你的平台是 amd 还是 arm。第一步得选对平台才能。


wget https://www.emqx.com/en/downloads/enterprise/5.10.0/emqx-enterprise-5.10.0-docker-arm64.tar.gz
--2025-07-08 09:24:54--  https://www.emqx.com/en/downloads/enterprise/5.10.0/emqx-enterprise-5.10.0-docker-arm64.tar.gz
Connecting to 127.0.0.1:7890... connected.
Proxy request sent, awaiting response... 302 Found
Location: https://packages.emqx.io/emqx-ee/e5.10.0/emqx-enterprise-5.10.0-docker-arm64.tar.gz [following]
--2025-07-08 09:24:54--  https://packages.emqx.io/emqx-ee/e5.10.0/emqx-enterprise-5.10.0-docker-arm64.tar.gz
Connecting to 127.0.0.1:7890... connected.
Proxy request sent, awaiting response... 200 OK
Length: 121300127 (116M) [application/x-tar]
Saving to: ‘emqx-enterprise-5.10.0-docker-arm64.tar.gz’

emqx-enterprise-5.10.0-docker-arm64.tar.gz 100%[========================================================================================>] 115.68M  4.15MB/s    in 17s

2025-07-08 09:25:14 (6.73 MB/s) - ‘emqx-enterprise-5.10.0-docker-arm64.tar.gz’ saved [121300127/121300127]

➜  emqx-v5 git:(release-58) ✗
➜  emqx-v5 git:(release-58) ✗ docker load < emqx-enterprise-5.10.0-docker-arm64.tar.gz
41d20f587704: Loading layer [==================================================>]  100.2MB/100.2MB
670d6e52da1f: Loading layer [==================================================>]   5.12kB/5.12kB
9cd895912688: Loading layer [==================================================>]  17.99MB/17.99MB
1868f6435cbe: Loading layer [==================================================>]  157.3MB/157.3MB
71e6ac0b353d: Loading layer [==================================================>]  9.728kB/9.728kB
5f70bf18a086: Loading layer [==================================================>]  1.024kB/1.024kB
Loaded image: emqx/emqx-enterprise:5.10.0

➜  emqx-v5 git:(release-58) ✗ docker run -d --name emqx-enterprise -p 1883:1883 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 emqx/emqx-enterprise:5.10.0
3cc57aa0c120f1830cbb2ef6d9f96309e3050d9cb4131eea80b45c518e8960e8
➜  emqx-v5 git:(release-58) ✗ docker ps -a |grep emqx
3cc57aa0c120   emqx/emqx-enterprise:5.10.0   "/usr/bin/docker-ent…"   6 seconds ago   Up 3 seconds   4370/tcp, 0.0.0.0:1883->1883/tcp, [::]:1883->1883/tcp, 0.0.0.0:8083-8084->8083-8084/tcp, [::]:8083-8084->8083-8084/tcp, 0.0.0.0:8883->8883/tcp, [::]:8883->8883/tcp, 0.0.0.0:18083->18083/tcp, [::]:18083->18083/tcp, 5369/tcp   emqx-enterprise



下载的是amd64的,

docker logs查看日志信息如下:

ERROR: Failed to create thread: Operation not permitted (1)
ERROR: Please ensure it is running on the correct platform:
ERROR: arch: “x86_64-pc-linux-gnu”
wordsize: 64
os: “debian12”
erlang: “27.2-3”
elixir: “none”
relform: “tgz”
ERROR: Version=5.10.0
ERROR: Required dependencies: openssl-1.1.1 (libcrypto), libncurses and libatomic1

看起来是权限问题。

你先用 docker 下载一个最基础的 debian12 镜像试试能不能支行成功。

1 个赞

docker run 后面加 --privileged=true 就OK了,确实是权限问题,加 --privileged=true 后续不会有其他问题吧

现场服务器是离线环境,没办法联网,所以只能用docker部署,如果使用deb部署,会提示缺少依赖

那得找依赖,然后一个个装

能给个脚本吗?我按您脚本导出依赖,然后去离线环境一个个装

我没有这种脚本哦。

好的,那我就用docker部署吧,docker run 后面加 --privileged=true 不会有后期问题吧,没加不能运行,是哪些地方需要权限?