(编辑:jimmy 日期: 2024/12/23 浏览:2)
1、xshell远程到一台安装了docker和docker-conpose的服务器(安装方法见其他学习文件)
2、到home目录下新建Mongotest文件夹,进入这个文件夹,执行vi docker-compose.yml,插入如下内容
,退出并保存
3、执行docker-compose up -d
然后添加防火墙:firewall-cmd --add-port=27017/tcp --permanent
重启防火墙:firewall-cmd --reload
4、查看进程 docker ps | grep mongotest,有如下进程则证明执行成功。
如果没有中间端口的信息:
先执行docker logs mongotest_mongo_1查看日志,
出现很多:
解决:先把docker-compose down,
然后进入 vi /etc/selinux/config
把里面的权限修改掉
重启服务器 shutdown -r now
启动docker: sudo systemctl restart docker
然后执行:docker-compose up -d
5、启动数据库 docker exec -it ${进程名称,例如mongotest_mongo_1} mongo
表示启动成功,进入到操作界面
6、第一次进入,执行
use admin //使用admin权限
user testdb //新建一个“表”
db.createUser({user:‘yyx01',pwd:‘123456',roles:[{role:‘dbOwner',db:‘testdb'}]}) //新建一个用户
show dbs //查看所有表
user testdb //切换到一个“表”
db.auth(‘yyx01',‘123456') //使用新建的用户操作新建的表
db.users.insertOne({name:‘yeyanxi',age:30,email:‘489448521@qq.com'}) //插入一条数据
db.users.find({}) //查询数据
db.users.updateOne({name:‘yeyanxi1'},{$set: {sex:‘man'}}) //修改数据
db.users.deleteOne({name:‘yeyanxi1'}) //删除数据
更多表的操作指令,可以查看官网:https://docs.mongodb.com/manual/crud/
7、使用GUI客户端(robo 3t),下载地址:https://robomongo.org/download
在本地可以连接到服务器上的数据库
8、如果有需要,可以备份数据库:docker exec -it mongotest_mongo_1 mongodump -h localhost -u root -p example -o /tmp/test
docker cp ${进程id,例如acc79ae5b628}:/tmp/test /tmp/test