bash - 在centos7 docker镜像上连接到mongodb

标签 bash mongodb docker

我是Docker的新用户(1天),我想为新 friend 制作一个带有完整环境的图像。

所以我只是在镜像上安装了mongodb:

RUN echo $'[mongodb-org-3.2] \n\
name       = MongoDB Repository \n\
baseurl    = https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/ \n\
gpgcheck   = 1 \n\
enabled    = 1 \n\
gpgkey     = https://www.mongodb.org/static/pgp/server-3.2.asc' > /etc/yum.repos.d/mongodb-org.repo
RUN yum install -y mongodb-org

但是当我使用sudo docker run -t -i myimage /bin/bash运行它并尝试使用systemctl start mongod启动mongo时出现此错误:

无法获得D-Bus连接:不允许操作

最佳答案

您是否要创建定制版本的Mongo DB docker镜像?如果没有,您可以在docker存储库中使用已经存在的mongo DB镜像。

如果您只想在docker中拥有mongo DB,则可以使用

docker run mongo

这将从存储库下载mongo图像。否则,如果您想在Docker容器中安装多个软件(例如redis等),则可以让docker编写内容与此类似的文件
  mongo:
    image : mongo
    ports : 
      - "<your_mongodb_port>:27017"
  redis:
    image: redis
    ports: 
      - "<your_redis_port>:6379"

端口配置是可选的
docker-compose up将同时启动mongo db和redis。

关于bash - 在centos7 docker镜像上连接到mongodb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40236007/

相关文章:

docker - 将 `/bin/bash`命令附加到 `docker run -it IMAGE ID`后,为什么不执行Dockerfile中的命令?

bash - 当管道中发生错误时,如何使 bash 脚本最终失败

linux - 如何复制/dev/ttyUSB0流?

Linux + 在数百台 Linux 机器上并行运行 yum update 的最佳方法是什么

javascript - MongoDB javascript 传递参数

ubuntu - Kubernetes 多节点设置无法删除 docker0 接口(interface)

tomcat - 如何将docker容器的IP地址动态映射到另一个容器

bash - Shell Bash : How to prompt a user to select from a dynamically populated list?

mongodb - 如何在 MongoDB 中编写适用于查找和聚合函数的 fieldValue.contains ("someString") 查询

mongodb - 如何使用 $elemMatch 使用 $lte 和 $gte 日期更新 mongoDB 多个对象?