docker安装mysql和redis

docker安装mysql

1、下载镜像文件

docker pull mysql:5.7(对应相应版本即可)
2、创建实例并启动

docker run -p 3306:3306 --name mysql \

-v /mydata/mysql/log:/var/log/mysql \

-v /mydata/mysql/data:/var/lib/mysql \

-v /mydata/mysql/conf:/etc/mysql \

-e MYSQL_ROOT_PASSWORD=root \

-d mysql:5.7

参数说明

-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口

-v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂载到主机

-v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机

-v /mydata/mysql/data:/var/lib/mysql/:将配置文件夹挂载到主机

-e MYSQL_ROOT_PASSWORD=root:初始化 root 用户的密码

MySQL 配置

vi /mydata/mysql/conf/my.cnf

client

default-character-set=utf8

mysql

default-character-set=utf8

mysqld

init_connect='SET collation_connection = utf8_unicode_ci'

init_connect='SET NAMES utf8'

character-set-server=utf8

collation-server=utf8_unicode_ci

skip-character-set-client-handshake

skip-name-resolve

注意:解决 MySQL

连接慢的问题

在配置文件中加入如下,并重启 mysql

mysqld

skip-name-resolve

解释:

skip-name-resolve:跳过域名解析
3、通过容器的 mysql 命令行工具连接

docker exec -it mysql mysql -uroot -proot
4、设置 root 远程访问(服务器的话要配置安全组开放端口,虚拟机直接关闭防火墙即可)

grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;

flush privileges;
5、进入容器文件系统

docker exec -it mysql /bin/bash

docker 安装 redis

1、下载镜像文件

docker pull redis
2、创建实例并启动

mkdir -p /mydata/redis/conf

touch /mydata/redis/conf/redis.conf

docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data \

-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \

-d redis redis-server /etc/redis/redis.conf

redis 自描述文件:

https://raw.githubusercontent.com/antirez/redis/4.0/redis.conf

3、使用 redis 镜像执行 redis-cli 命令连接

docker exec -it redis redis-cli

相关推荐
Dovis(誓平步青云)29 分钟前
从Redis指标采集到异常告警:redis_exporter + Prometheus 完整实战
服务器·数据库·人工智能·redis·架构·prometheus·vibe coding
卷无止境10 小时前
Windows 上丝滑开发 Python,并稳定构建 Docker 镜像
后端·python·docker
阿里巴巴P8资深技术专家10 小时前
Redis连接工具 —— Redis Manager
redis
夜雪一千10 小时前
MySQL 全局锁是什么?原理、风险、备份踩坑完整实战
android·mysql·adb
小席是个热心肠13 小时前
Redis的自我学习
数据库·redis·学习
吕海洋14 小时前
目前可用的docker源2026.08
运维·docker·容器
程序员夏洛15 小时前
MySQL 中 count(*)、count(1) 和 count(字段名) 有什么区别?
数据库·mysql
l12586516 小时前
# RAG向量数据库优化实战:HNSW索引调参与生产级性能设计
数据库·python·mysql·langchain
梦Arrebol16 小时前
Mysql内容及相关实验
数据库·mysql
gsls20080816 小时前
Penpot Docker 部署与 MCP 服务配置文档
运维·docker·容器·原型·penpot