企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# Docker】Docker安装MongoDB最新版并连接使用附加docker常用命令 原文链接:https://blog.csdn.net/CWK13400405244/article/details/132146488 前言 确保centos7已经安装docker,没安装docker的可以百度自行安装 一、docker安装mongodb步骤 1、docker拉取mongo镜像 ``` docker pull mongo:latest ``` 2、查看本地镜像命令 ``` #查看镜像命令 docker images #查看正在运行的容器 docker ps #查看全部的容器 docker ps -a ``` 3、运行容器 ``` docker run -itd --name mongo -p 27017:27017 mongo --auth ``` 参数说明: -p 27017:27017 :映射容器服务的 27017 端口到宿主机的 27017 端口。外部可以直接通过 宿主机 ip:27017 访问到 mongo 的服务。 --auth:需要密码才能访问容器服务。 4、进入mongo ``` #5.0版本以上连接mongo使用命令mongosh(现在下载一般都是5.0以上的) docker exec -it mongo mongosh admin #5.0版本以下 docker exec -it mongo mongo admin ``` 5、创建业务数据库和一个用户账号使用 ``` #1. use admin #结果:already on db admin #2. db.createUser({user:'root',pwd:'root',roles:[{role:'root',db:'admin'}]}) #结果:{ ok: 1 } #3. db.auth('root','root') #结果:{ ok: 1 } #4.创建业务数据库和用户(此时还在admin中) db.createUser({user:'web',pwd:'web123',roles:[{role:'readWrite',db:'db_clock'}]}); #结果:{ ok: 1 } #5. show users #结果:为一个数组,数组中为两个用户 #6. use db_clock #结果:switched to db db_clock #7. show users #结果[] #8.在业务数据库中创建用户 db.createUser({user:"dba",pwd:"dba",roles:[{role:"dbOwner",db:"db_clock"}]}) #结果:{ ok: 1 } #9. show users #结果:为一个数组,数组中为一个用户 #10.认证 db.auth('dba','dba') #结果:{ ok: 1 } #11.完结退出 exit ``` 6、腾讯云/阿里云的控制面板中的防火墙,开放27017端口 二、navicate连接 express连接线上mongodb数据库文章可以看这篇 以上是docker安装MongoDB所有操作,下面是docker的一些常用命令 常用命令引用的是这位up的文章 三、docker常用命令 1、docker镜像命令 ``` #-------------------------------------docker启动与关闭 # 启动docker systemctl start docker # 关闭docker systemctl stop docker # 重启docker systemctl restart docker # docker设置随服务启动而自启动 systemctl enable docker #-------------------------------------docker状态 # 查看docker 运行状态 systemctl status docker # 查看docker 版本号信息 docker version docker info #-------------------------------------镜像(增) # 拉取镜像(增) docker pull 镜像名 docker pull 镜像名:tag #-------------------------------------镜像(查) # 查看镜像列表(查) docker images # 搜索镜像(查) docker search 镜像名 #-------------------------------------镜像(删) # 删除镜像(删) # 删除一个 docker rmi -f 镜像名/镜像ID # 删除多个 其镜像ID或镜像用用空格隔开即可 docker rmi -f 镜像名/镜像ID 镜像名/镜像ID 镜像名/镜像ID # 删除全部镜像 -a 意思为显示全部, -q 意思为只显示ID docker rmi -f $(docker images -aq) # 强制删除镜像 docker image rm 镜像名称/镜像ID ``` 2、docker容器命令 ``` # 查看所有容器列表(包含 正在运行 和 已停止的) docker ps -a # 停止容器 docker stop 容器ID/容器名 # 重启容器 docker restart 容器ID/容器名 # 启动容器 docker start 容器ID/容器名 # kill 容器 docker kill 容器ID/容器名 # ----------------查看容器日志 docker logs -f --tail=要查看末尾多少行 默认all 容器ID # 示例: docker logs -f -t --tail 1000 2ab447816a66 # ----------------更换容器名 docker rename 容器ID/容器名 新容器名 ``` 1、运行容器 ``` # 运行一个容器 # -restart=always 该容器随docker服务启动而自动启动 docker run -it -d --name 要取的别名 镜像名:Tag /bin/bash ``` 命令参数说明: ``` -d:后台运行容器 -p:端口映射,格式为主机端口:容器端口 -e:设置环境变量,这里设置的是root密码 –name:设置容器别名 -v 挂载文件,格式为:宿主机绝对路径目录:容器内目录, 比如我们使用:-v /usr/local/mysql/logs:/var/log/mysql 将mysql容器存放日志文件的目录:/var/log/mysql挂载在宿主机的/usr/local/mysql/logs下 ``` ``` # 示例 docker run --name mysql \ -v /myapp/mysql:/var/lib/mysql \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=123456 \ -d mysql:8.0.19 ``` 2、删除容器 ``` # 停止运行的 redis 容器 docker stop 容器名/容器ID #删除一个容器 docker rm -f 容器名/容器ID #删除多个容器 空格隔开要删除的容器名或容器ID docker rm -f 容器名/容器ID 容器名/容器ID 容器名/容器ID #删除全部容器 docker rm -f $(docker ps -aq) ``` 3、进入容器 ``` docker exec -it 容器名/容器ID /bin/bash ``` 4、退出容器 ``` # 直接退出 (如果没有添加-d 参数(持久化运行容器) 该容器会被关闭 ) exit # 优雅退出 (无论是否添加-d 参数 容器都不会被关闭) Ctrl + p + q ```