无法使用超级用户文件

时间:2016-10-18 17:12:35

标签: mongodb docker dockerfile supervisor

我有一个docker容器,我在其中安装了mongo db。安装后, 我试图启动mongo并恢复mongo数据库转储。但是,当我启动docker实例时,我看到用户已经切换到root(根据supervisor指令)但mongo没有启动。

这是主管代码段:

[supervisord]
nodaemon=true

[program:mongodb]
user=root
command=/usr/bin/mongod

这是我在dockerfile中的设置:

RUN apt-get update && sudo apt-get install -y supervisor
RUN mkdir -p /var/log/supervisor
COPY supervisor.conf /etc/supervisor/conf.d/supervisor.conf

# Install MongoDB.
RUN \
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10  && \ 
echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' 
| tee /etc/apt/sources.list.d/mongodb.list && \
apt-get update && \
apt-get install -y mongodb-org && \
rm -rf /var/lib/apt/lists/*

# Define mountable directories.
VOLUME ["/data/db"]

# Define working directory.
WORKDIR /data

# Define default command.
CMD ["mongod"]

EXPOSE 27017
EXPOSE 28017

CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]

我错过了任何配置设置吗?任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

您无法运行mongodb,因为在安装mongodb时某些文件需要身份验证,因此您只需将apt-get install -y mongodb-org替换为apt-get install -y --no-authentication mongodb-org,您就可以毫无问题地安装mongodb。