前言
确保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-container -p 27017:27017 mongo:latest --auth
参数说明: -p 27017:27017 :映射容器服务的 27017 端口到宿主机的 27017 端口。外部可以直接通过 宿主机 ip:27017 访问到 mongo 的服务。 --auth:需要密码才能访问容器服务。
4、进入mongo
docker exec -it mongo-container mongosh test
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端口
以上是docker安装MongoDB所有操作,下面是docker的一些常用命令
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/容器名 新容器名
3、运行容器
# 运行一个容器
# -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
4、删除容器
# 停止运行的 redis 容器
docker stop 容器名/容器ID
#删除一个容器
docker rm -f 容器名/容器ID
#删除多个容器 空格隔开要删除的容器名或容器ID
docker rm -f 容器名/容器ID 容器名/容器ID 容器名/容器ID
#删除全部容器
docker rm -f $(docker ps -aq)
5、退出容器
# 直接退出 (如果没有添加-d 参数(持久化运行容器) 该容器会被关闭 )
exit
# 优雅退出 (无论是否添加-d 参数 容器都不会被关闭)
Ctrl + p + q