我有一个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"]
我错过了任何配置设置吗?任何帮助表示赞赏。
答案 0 :(得分:0)
您无法运行mongodb,因为在安装mongodb时某些文件需要身份验证,因此您只需将apt-get install -y mongodb-org
替换为apt-get install -y --no-authentication mongodb-org
,您就可以毫无问题地安装mongodb。