我正在尝试运行一个包含两个容器的集群,其中一个包含运行 node.js
服务器的镜像,另一个容器用于 mongo
数据库。
我正在关注this tutorial ,其中声明使用 registry.hub.docker.com/library/mongo:latest
作为 mongodb 的图像 URL。
现在,我遇到了一个问题。在本地,当我在我的电脑上运行 mongo 容器时,我使用 the following script ,它做了两件事:
- 使用
mongo
镜像执行docker run
,并在参数中声明--replSet
- 运行两个 shell 命令 - 启动副本集和设置初始用户。
我无法理解的困难部分是 --replSet
部分。
当我运行官方 mongodb
镜像的容器时,它会以某种默认方式启动 mongod
。
假设我创建了一个新的 Dockerfile
,其中声明 FROM mongo:latest
。
据我有限的理解,自定义 Dockerfile
中将发生的其余事情,mongod
已经运行了。有什么方法可以修改它在 mongo:latest
中执行的方式,或者修改已经事件的 mongod
以允许 --replSet
选项?
据我了解,mongo shell 上的 shell 命令不会成为问题,因为这只是 Dockerfile
中的几个 RUN
命令.
预先感谢您的帮助!
最佳答案
我仅在 ECS 任务的网络模式设置为桥接
的情况下才成功运行它。
关于node.js - 在AWS EC2中运行定制的mongo容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48669311/