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服务

相关推荐
gaoshan1234567891014 小时前
‌MyBatis-Plus 的 LambdaQueryWrapper 可以实现 OR 条件查询‌
java·tomcat·mybatis
Mu.38715 小时前
初始Spring
java·数据库·spring
葡萄城技术团队15 小时前
突破Excel局限!SpreadJS让电子表格“活”起来
java·数据库·excel
吹个口哨写代码15 小时前
处理文本编辑器存的json格式报错问题,对编辑器存的字段进行转换处理,再通过json返回
java·编辑器·json
阿挥的编程日记15 小时前
基于SpringBoot的影评管理系统
java·spring boot·后端
Chloeis Syntax15 小时前
栈和队列笔记2025-10-12
java·数据结构·笔记·
java坤坤15 小时前
Spring Boot 集成 SpringDoc OpenAPI(Swagger)实战:从配置到接口文档落地
java·spring boot·后端
ChineHe15 小时前
Golang并发编程篇001_并发编程相关概念解释
开发语言·后端·golang
Uluoyu15 小时前
word、pdf文档内容提取工具类
java·pdf·word
自由的疯15 小时前
java 怎么判断事务有无提交成功
java·后端·架构