繁体   English   中英

Dockerfile 中 MongoDB 的健康检查

[英]Healthcheck for MongoDB in Dockerfile

我正在尝试为我的Dockerfile中配置的 MongoDB 容器创建健康检查:

FROM ubuntu

RUN apt-get update && apt-get install -y gnupg2

RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10

RUN echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' > tee /etc/apt/sources.list.d/mongodb.list

RUN apt-get update

RUN apt-get install -y mongodb

RUN mkdir -p /data/db

EXPOSE 27017

**HEALTHCHECK --interval=5s --timeout=3s CMD /etc/init.d/mongodb status || exit 1**

CMD ["usr/bin/mongod", "--smallfiles"]

但是,当我构建映像并运行容器时,在运行docker ps它会在status列中显示Up 20 seconds (unhealthy)

使用 bash 进入容器,当我尝试运行service mongodb start它失败了。

在日志文件( /var/log/mongodb/mongodb.log )中,它说Failed to set up listener: SocketException: Address already in use

但是没有其他容器运行 MongoDB。

什么可能导致这种情况?

也许最后一行有错误

更改这一行CMD ["usr/bin/mongod", "--smallfiles"]

CMD ["/usr/bin/mongod", "--smallfiles"]

更新1

改变这一行**HEALTHCHECK --interval=5s --timeout=3s CMD /etc/init.d/mongodb status || exit 1** **HEALTHCHECK --interval=5s --timeout=3s CMD /etc/init.d/mongodb status || exit 1**

HEALTHCHECK --interval=5s --timeout=3s CMD /etc/init.d/mongodb status || exit 1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM