如何使用dockerfile在centos docker容器中安装mongo-org-tools?

时间:2018-09-12 03:36:12

标签: mongodb docker centos dockerfile docker-image

我想在容器中安装mongo-org-tools,因为我想在容器中使用mongorestore和mongodump之类的工具。

如mongodb的文档所建议,在CentOS中需要的conf文件夹中添加一个回购文件。我尝试使用dockerfile执行此操作,但未执行。

是否可以通过dockerfile做到这一点,或者我做错了什么?

Dockerfile

FROM centos

# Create app directory
WORKDIR /usr/src/app

# RUN adduser -G root node

#ENV http_proxy http://172.26.25.4:8080/
#ENV https_proxy http://172.26.25.4:8080/

# Install app dependencies
# A wildcard is used to ensure both package.json AND package-lock.json are copied
# where available (npm@5+)
COPY package*.json ./
COPY SmallTalkWorkspace*.json ./
COPY bin ./bin
COPY helpers ./helpers
COPY src ./src

ADD ./mongodb-org-4.0.repo /etc/yum.repos.d/

 RUN yum -y update && \
     yum -y install epel-release && \
     yum -y install nodejs npm && \
     yum -y install mongodb-org-shell mongodb-org-tools && \
     yum clean all && \
     mkdir -p /var/lib/mongo && \
     chown -R mongod:mongod /var/lib/mongo

VOLUME ["/var/lib/mongo"]

RUN ["/usr/bin/mongod", "--dbpath", "/var/lib/mongo"]

EXPOSE 5000
# USER node

CMD ["npm", "start"]

mongodb-org-4.0.repo

[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc

2 个答案:

答案 0 :(得分:0)

您还需要安装mongodb-org软件包才能创建用户。

答案 1 :(得分:0)

你需要做这样的事情:

FROM centos:7.6.1810

WORKDIR /usr/src

RUN curl -sL **rpm nodesource url** | bash - && \
    yum install wget -y && \
    wget **rpm URL** && \
    yum localinstall mongodb-org-tools-4.0.15-1.el7.x86_64.rpm -y