我想在容器中安装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
答案 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