docker安装mysql、redis、nginx、elasticSearch 服务(beta)

docker安装mysql、redis、nginx、elasticSearch 服务

建议:使用任何容器参考 dockerhub官方网站 + 搜索引擎(百度 google)

安装mysql

  1. 拉取mysql镜像到本地
    docker pull mysql:tag (tag不加默认最新版本)
    docker pull mysql:8.0.20

  2. 运行mysql服务

  • docker run --name mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:tag --没有暴露外部端口外部不能连接
  • docker run --name mysql -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 -d mysql:tag --没有暴露外部端口
  • docker run --name mysql01 -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 -d mysql:8.0.20 --restart=always --没有暴露外部端口,总是运行
  • docker run --name mysql01 -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 -d --restart=always -v /root/data:/var/lib/mysql mysql:8.0.20 --数据卷持久化数据到宿主机

-e: enviroment 环境
-d: 后台运行
--restart=always : 只要docker引擎启动,容器会自动重启

docker run --name mysql01 -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 -d mysql:8.0.20 --restart=always

docker run --name mysql01 -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 -d --restart=always -v /root/data:/var/lib/mysql mysql:8.0.20

  1. 进入mysql容器
    docker exec -it 容器名称|容器id bash
    mysql -u root -p
  1. 外部查看mysql日志
    docker logs 容器名称|容器id

  2. 通过其他客户端访问 如在window系统|macos系统使用客户端工具访问

  3. 执行sql文件到mysql中 docker exec -i mysql sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD"' < /root/xxx.sql

docker 运行mysql容器数据备份

在使用mysql容器时数据卷虽然能备份数据

注意: 数据卷将数据库底层文件系统进行的备份 不利于数据迁移和备份 推荐使用sql文件形式备份数据

在mysql导出sql文件来备份数据

  1. 利用mysql官方提供命令 mysqldump
  • docker exec mysql|容器id sh -c 'exec mysqldump --all-databases -uroot -p"$MYSQL_ROOT_PASSWORD"' > /root/all-databases.sql   ----导出全部数据
    >代表要把信息输出到哪个文件
  • docker exec mysql sh -c 'exec mysqldump --databases 库名 -uroot -p"$MYSQL_ROOT_PASSWORD"' > /root/all-databases.sql  ----导出指定库数据
  • docker exec mysql sh -c 'exec mysqldump --no-data --databases 库表 -uroot -p"$MYSQL_ROOT_PASSWORD"' > /root/all-databases.sql  ----导出指定库数据不要数据
  1. 使用navicat提供数据备份
    直接在对应库中选择备份的表即可,导出即可

执行sql文件到mysql中

docker exec -i mysql sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD"' < /root/xxx.sql

安装Redis服务

相关推荐
雨落在了我的手上几秒前
Java数据结构(一):初识集合框架
java·开发语言
码语智行2 分钟前
Spring Security自定义AuthenticationManager实现手机号/密码双认证
java·后端·spring
SuniaWang2 分钟前
《AgentX 专栏》07-全链路可观测:用OpenTelemetry+Jaeger让每次AI对话都可追踪可复盘
java·人工智能·spring·架构·langchain·opentelemetry·agenx
fengxin_rou3 分钟前
【从零开始的JUC并发第五章】:线程池详解
java·jvm·spring
咖啡八杯7 分钟前
GoF设计模式——装饰模式
java·算法·设计模式·装饰器模式
_Aaron___8 分钟前
RAG 知识库越用越脏?先把“增量更新”设计清楚
java·人工智能
飞翔中文网10 分钟前
Java学习笔记之注解
java·笔记·学习
BossFriday12 分钟前
【手撸IM】SycllaDB 消息存储基础
java·分布式·中间件
武子康12 分钟前
Build-Your-Own-X 从零构建轻量级事件驱动微框架:嵌入式与物联网场景下的极简实践
人工智能·后端·物联网·ai·c#·大模型·嵌入式
霸道流氓气质14 分钟前
导入历史跟踪机制实战指南
java·linux·服务器