docker安装mongodb教程
·
docker安装mongodb教程
- 首先安装好docker,这个不用说
- 因为docker官方无法访问,这里我分享一个docker镜像网站
(https://docker.aityp.com/) - 首先拉去mongodb的镜像
[root@hadoop ~]# di
REPOSITORY TAG IMAGE ID CREATED SIZE
mongo 7.0.19 b61aac0fa893 6 months ago 814MB
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/mongo 7.0.19 b61aac0fa893 6 months ago 814MB
rabbitmq 4.0 d4093a263704 10 months ago 231MB
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/rabbitmq 4.0 d4093a263704 10 months ago 231MB
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/dyrnq/rocketmq 4.9.4-linuxarm64 a230768160bf 12 months ago 480MB
rocketmq latest a230768160bf 12 months ago 480MB
redis 7.4.1 36900367459b 13 months ago 117MB
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/redis 7.4.1 36900367459b 13 months ago 117MB
mysql 9.0.1 d1a6bffb6c99 15 months ago 586MB
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/mysql 9.0.1 d1a6bffb6c99 15 months ago 586MB
canal latest eb67fb66f50b 2 years ago 1.19GB
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/canal/canal-server v1.1.7-linuxarm64 eb67fb66f50b 2 years ago 1.19GB
nacos/nacos-server v2.1.0-slim 49addbd025a1 3 years ago 322MB
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/zevenfang/rocketmq-console-ng latest 7df83bb6e638 8 years ago 702MB
拉取镜像命令为 docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/mongo:7.0.19
- 这里介绍一下di命令,这是我自定义的命令,为了快捷高效地操作服务器,也分享给大家,具体操作如下,就是给命令起别名
-
[root@hadoop ~]# vim /etc/bashrc -
#my design command #docker ps alias dps='docker ps' #docker ps -a alias dpsa="docker ps -a" #docker images alias di="docker images" #restart docker alias redocker="systemctl restart docker" #start redis alias redis="docker start redis" #start mysql alias mysql="docker start mysql" #start ollama alias ollama="docker start ollama" #start mongodb alias mongodb="docker start mongodb" #clear alias c="clear"
- 建容器
docker run -d \
--name mongodb \
-p 27017:27017 \
-v /data/mongo/data:/data/db \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=123456 \
mongo:7.0.19
-
启动容器
[root@hadoop ~]# docker start mongodb -
查看dps,注意这里是docker ps,因为我用了别名
[root@hadoop ~]# dps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS
NAMES
67b4a300d434 mongo:7.0.19 "docker-entrypoint.s…" 11 days ago Up Less than a second 0.0.0.0:270
17->27017/tcp, :::27017->27017/tcp mongodb
- 这里需要注意的是
0.0.0.0:27017->27017/tcp, :::27017->27017/tcp,0.0.0.0才允许外网IP访问,如果这里显示的是127.0.0.1,那么这个mongodb只允许局域网访问,外网IP是无法访问的 - 进入容器,
docker exec -it mongodb bash修改config ,文件在/etc
[root@hadoop ~]# docker exec -it mongodb bash
root@67b4a300d434:/etc# cat mongod.conf.orig
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# Where and how to store data.
storage:
dbPath: /var/lib/mongodb
# engine:
# wiredTiger:
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0
# how the process runs
processManagement:
timeZoneInfo: /usr/share/zoneinfo
security:
authorization: "disabled"
#operationProfiling:
#replication:
#sharding:
## Enterprise-Only Options:
#auditLog:
- 当然,如果还连接不上mongodb服务,排查如下
-
检查本地环境能否ping通mongodb所在的服务器IP
-
检查mongodb服务器防火墙是否开启,是否允许mongodb的端口27017开放并允许你的IP访问
-
其次检查mongodb的配置文件,这里最好设置为0.0.0.0允许所有IP访问,不然只能局域网访问,踩过坑
net: port: 27017 bindIp: 0.0.0.0 -
其次就是检查认证方式和密码,mongodb的默认认证方式是
SCRAM-SHA-1,正确填写用户名的密码,认证数据库Authentication database默认为admin -
如果是腾讯云服务器+宝塔面板搭建的话,需要到腾讯云官方控制面板的防火墙开启端口,也要在宝塔面板开启端口,同时也要把配置文件设置为允许所有IP访问。(小经验,我使用这种方式搭建过)
更多推荐
所有评论(0)