1.拉取基本镜像
拉取最新镜像
docker pull mongo
2.准备配置文件
准备好配置文件mongod.cfg,里面配置数据文件存放的位置,以及log日志的文件位置,端口什么的。
注意,这个配置文件里面使用的地址并不是宿主机的地址,而是容器内的地址,然后这个地址再和宿主机的实际地址对应,就是挂载到外面。
# where and how to store data.
storage:
dbPath: /data
journal:
enabled: true
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /opt/mongod.log
# network interfaces
net:
port: 27017
bindIp: 127.0.0.1
3.在宿主机上准备挂载的目录和文件(第二步的配置文件其实也算,不过单独说)
在宿主机上准备好上述 mongod.cfg 配置文件,一个 mongod.log 文件(自己用vim建一个),一个data文件夹,用来存放挂载数据,路径分别为
mongod.cfg /opt/mongo/mongod.cfg
mongod.log /opt/mongo/mongod.log
data /opt/mongo/data
4.实际对应文件运行容器
使用上述宿主中的实际地址和文件,docker运行命令中使用-v参数,配置挂载的地址,运行
docker run -P --net=host -v /opt/mongo/data:/data -v /opt/mongo/mongod.cfg:/opt/mongod.cfg -v /opt/mongo/mongod.log:/opt/mongod.log -d mongo
运行后,容器中/opt/mongod.cfg地址中的配置文件,就会去使用宿主机中的/opt/mongo/mongod.cfg。对应的数据文件容器中的配置文件地址/data,对应了宿主机上的/opt/mongo/data,log同理.
我这里使用了host网络模式,使用-p配置对应的端口一样,看实际即可
网友评论