我有几个Docker容器,其中一个是Mongodb官方镜像。
以下是我的docker-compose.yml文件的一部分:
version: '3'
services:
mongo:
image: mongo
container_name: mongo01
# command: ["mongod", "-f", "/etc/mongo/mongod.conf"]
volumes:
- ./data/mongodata:/data/db
# - ./config/mongo:/etc/mongo
restart: always
ports:
- "27017:27017"
我可以从主机(我的系统)访问Mongo服务,但是根据Mongo的新安全策略,有一个限制Mongo访问的配置仅允许通过127.0.0.1
进行访问。我知道这个限制。
# network interfaces
net:
port: 27017
bindIp: 127.0.0.1
如果我可以推送mongo镜像并读取我的自定义配置,我就可以解决问题,但我尝试挂载自定义配置文件
- ./config/mongo:/etc/mongo
,然后使用命令["mongod", "-f", "/etc/mongo/mongod.conf"]
运行mongod,但没有成功。似乎mongod在容器中作为进程1启动,并尝试以自定义命令运行它不起作用,即使我试图使用
mongod --shutdown
关闭容器中的mongod,它也会关闭整个容器。(我想停止mongod,然后使用mongod --bind_ip_all
重新运行它)因此,问题是我们如何更改mongo镜像配置文件?