Docker启动MySql、Redis、Nginx、ElasticSearch、MongoDB服务

文章详细介绍了如何使用Docker下载和启动MySQL、Redis、Nginx、ElasticSearch以及MongoDB的镜像,并进行了端口映射、数据持久化、配置文件挂载等操作,包括设置密码、导出SQL、配置IK分词器等。
摘要由CSDN通过智能技术生成

MySQL

下载镜像

docker pull mysql:5.6

启动镜像

# 开启端口映射,后台运行 指定root用户密码  指定容器名称 自动重启 数据挂载到宿主机
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123 --name mysql --restart=always -v /root/mysqldata:/var/lib/mysql mysql:5.6

进入镜像

docker exec -it mysql bash

进入mysql

mysql -u root -p
然后输入密码

导出SQL文件

# 全量数据
docker exec 容器id|name sh -c 'exec mysqldump --all-database -uroot -p"$MYSQL_ROOT_PASSWORD"' > /root/all-databases.sql
# 单库数据
docker exec 容器id|name sh -c 'exec mysqldump --databases 库名 -uroot -p"$MYSQL_ROOT_PASSWORD"' > /root/single-databases.sql
# 只备份结构不备份数据
docker exec 容器id|name sh -c 'exec mysqldump --no-data --databases 库名 -uroot -p"$MYSQL_ROOT_PASSWORD"' > /root/single-databases.sql

Redis

下载镜像

docker pull redis:6.0.12

启动镜像

# 开启端口映射,指定root用户密码 后台运行 指定容器名称 自动重启 开启持久化 数据映射到宿主机
docker run -d -p 6379:6379 --name redis --restart=always -v /root/redisdata:/data redis:6.0.12 redis-server --appendonly yes 

redis支持内存数据持久化
rdb持久化:快照,Redis服务器将某一时刻数据以快照文件形式写入到磁盘
aof持久化:Redis服务器将所有Redis客户端的写操作以命令方式记录到日志文件中

进入镜像

docker exec -it redis bash

进入redis

redis-cli

自定义挂载Redis配置文件

# 使用完整配置文件启动
# 先将对应的redis.conf配置文件存放到文件路径下 /root/redisconf
docker run -d -p 6379:6379 --restart=always -v /root/redisconf:/data --name redis redis:6.0.12 redis-server /data/redis.conf

# 使用部分配置文件启动(推荐)
# 自己创建一个redis.conf文件。将需要的配置写入文件
# 例如文件中只写入appendonly yes 只开启持久化,其余使用默认配置
docker run -d -p 6379:6379 --restart=always -v /root/redisconf:/data --name redis redis:6.0.12 redis-server /data/redis.conf

nginx

下载镜像

docker pull nginx:1.19.10

启动镜像

# 映射端口 后台运行 自动重启
docker -d -p 80:80 --restart=always --name nginx nginx:1.19.10

进入容器

docker exec -it nginx bash

加载指定配置文件

# 查找容器内配置文件路径
find / -name nginx.conf
# 映射端口 后台运行 自动重启
docker -d -p 80:80 --restart=always --name nginx -v /root/nginxdata:/etc/nginx/nginx.conf:ro nginx:1.19.10

ElasticSearch

下载镜像

docker pull elasticsearch:6.8.10

启动镜像

# es如果启动时没有指定启动方式,默认会以集群方式启动,会有虚拟内存报错。
解决方式:
vim /etc/sysctl.conf 
添加:vm.max_map_count=262144
生效:sysctl -p

# 开启端口映射(9200:http  9300:tcp),后台运行 指定root用户密码  指定容器名称 自动重启 数据挂载到宿主机
docker run -p 9200:9200 -p 9300:9300 -d --name es --restart=always -v /root/esdata:/usr/share/elasticsearch/data elasticsearch:6.8.10

进入镜像

docker exec -it es bash

加载指定配置文件

#挂载相应配置文件
1.mkdir /root/esconfig
2.vim elasticsearch.yml
3.挂载
docker run -p 9200:9200 -p 9300:9300 -d --name es --restart=always -v /root/esdata:/usr/share/elasticsearch/data -v /root/esconfig/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml elasticsearch:6.8.10

设置ik分词器启动

# 设置对中文比较友好点的ik分词器
# github搜索elasticsearch-analysis-ik 注意:ik版本必须和es版本保持一致
docker run -p 9200:9200 -p 9300:9300 -d --name es --restart=always -v /root/esdata:/usr/share/elasticsearch/data -v /root/esconfig/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /root/esplugins:/usr/share/elasticsearch/plugins elasticsearch:6.8.10

下载对应版本kibana

# 版本必须和es版本保持一致
docker pull kibana:6.8.10
# 指定kibana连接端口
docker run -d -p 5601:5601 --name kibana --restart=always -e ELASTICSEARCH_URL=http://127.0.0.1:9200 kibana:6.8.10

MongoDB

下载镜像

docker pull mongo

启动镜像

docker run -d -p 27017:27017 -v /root/mongodata:/data/db --name mongo mongo

进入镜像

docker exec -it mongo bash

配置相关用户

mongo
use admin
db.createUser({user:"root",pwd:"123",roles[{role:"root",db:"admin"}]})
exit
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值