在我的 Ubuntu 24.04 上,我创建了一个实验性的 Docker 文件,用于安装ejabberd
:
FROM ubuntu:24.04
RUN apt update
RUN apt -y install apt-utils
RUN apt -y install locales
RUN apt -y install nano
# Set the locale
RUN locale-gen en_US.UTF-8
ENV LANG=en_US.UTF-8
ENV LANGUAGE=en_US:en
ENV LC_ALL=en_US.UTF-8
RUN apt -y install openssl
RUN apt -y install ejabberd
构建并运行
sudo docker build -t u24jabber .
sudo docker run -it --rm --name jabber -p 5280:5280 -p 5222:5222 -p 5269:5269 u24jabber
然后在docker容器内运行
ejabberdctl status
并收到以下错误:
Failed RPC connection to the node ejabberd@localhost: nodedown
我的第一个猜测是ejabberd
没有运行,我尝试过
ejabberdctl start
在docker容器里面,但是没有帮助。
我也尝试添加
CMD ["ejabberdctl", "foreground"]
到Docker 文件,但没有成功并且telnet 172.17.0.2 5280
没有连接。
ejabberd
在默认配置下运行的最小 Dockerfile 是什么?
我尝试了这个 Dockerfile,只是在示例末尾添加了三行:
现在我使用 podman 进行构建(与在 docker 中使用的参数相同):
并且这可以正常工作: