docker安装mysql和redis

文章目录

一.mysql

1.下载mysql镜像

docker pull mysql:版本号

2.运行容器

注意设置密码

docker run -d \ 
 --restart always \
-p 3306:3306 \ 
--privileged=true \ 
-v /mydata/mysql/log:/var/log/mysql \ 
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=123456 \
--name mysql \
mysql:版本号

容器内操作mysql

#进入容器
1.docker exec -it 容器名/容器id bash

#登录mysql
2.mysql -u root -p

3.解决中文乱码问题

/app/mysql/conf下新建 my.cnf,通过容器卷同步给mysql实例

[client]
default-character-set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8

重启mysql

docker restart mysql

二.redis

1.下载redis镜像

docker pull redis:版本号

2.运行并配置redis

1.宿主机创建目录/mydata/redis

2.在/mydata/redis下创建文件redis.conf,主要修改以下几项配置

# 开启密码验证(可选)
requirepass 123

# 允许redis外地连接,需要注释掉绑定的IP
# bind 127.0.0.1

# 关闭保护模式(可选)
protected-mode no

# 注释掉daemonize yes,或者配置成 daemonize no。因为该配置和 docker run中的 -d 参数冲突,会导致容器一直启动失败
daemonize no

# 开启redis数据持久化, (可选)
appendonly yes

以下是redis.conf的全部配置

#设置redis监听的端口,默认为6379
port 6379
 
# 设置Redis监听的网络接口的IP地址
# bind 127.0.0.1
 
# 设置Redis是否以守护进程方式运行
daemonize no
 
# 设置Redis的pid文件位置
pidfile /var/run/redis.pid
 
# 设置Redis数据库的数量,默认16个数据库(0...15)
databases 10
 
# 设置Redis日志级别
loglevel notice
 
# 设置Redis日志文件路径
logfile ""
 
# 设置数据持久化方式
#   save <seconds> <changes>
#   指定在多长时间内,有多少次更新操作时,进行数据保存
save 900 1
save 300 10
save 60 10000
 
# 设置数据持久化的文件路径
dir ./
 
# 设置Redis是否在载入数据的时候使用压缩
rdbcompression yes
 
# 设置Redis的密码
requirepass 123456 
 
# 设置连接超时时间
timeout 300
 
# 设置TCP连接是否为长连接,"yes"表示启用keepalive
tcp-keepalive 0
 
# 设置Redis的最大内存容量
# maxmemory <bytes>
 
# 设置内存淘汰策略
#   allkeys-lru -> 当内存不足以容纳更多数据时,使用最近最少使用算法进行淘汰
#   volatile-lru -> 当内存不足以容纳更多数据时,只对设置了过期时间的键进行最近最少使用算法进行淘汰
#   allkeys-random -> 当内存不足以容纳更多数据时,随机淘汰键
#   volatile-random -> 当内存不足以容纳更多数据时,只对设置了过期时间的键进行随机淘汰
#   volatile-ttl -> 当内存不足以容纳更多数据时,只对设置了过期时间的键进行淘汰,优先淘汰TTL值较小的键
# maxmemory-policy noeviction
 
# 设置是否开启append only模式
appendonly no
 
# 设置AOF文件的更新频率
#   appendfsync always
#   appendfsync everysec
#   appendfsync no
appendfsync everysec
 
# 设置AOF重写规则
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
 
# 设置Redis的最大连接数
# maxclients 128
 
# 设置是否启用虚拟内存机制
# vm-enabled no
 
# 设置虚拟内存文件路径
# vm-swap-file /tmp/redis.swap
 
# 设置虚拟内存的大小
# vm-max-memory 0
 
# 设置虚拟内存的页大小
# vm-page-size 32
 
# 设置虚拟内存的页数
# vm-pages 134217728
 
# 设置虚拟内存的缓冲区大小
# vm-max-threads 4
 
# 设置是否开启Lua脚本功能
# lua-time-limit 5000
 
# 设置Redis的最大内存用量上限,超过该值时

3.启动redis(因为要使用自定义的配置文件,所以需要指定容器运行的命令为redis-server 容器内配置文件路径 /etc/redis/redis.conf)

docker run -d\ 
--name myredis \
-p 6379:6379\
-v /mydata/redis/redis.conf:/etc/redis/redis.conf \ 
-v /mydata/redis/data:/data \ 
--restart always  \
redis:版本号 \
redis-server /etc/redis/redis.conf

容器内操作redis

#进去容器
docker exec -it myredis bash

#启动redis
redis-cli

#如果设置了redis密码,你需要使用 -a 参数来提供密码
redis-cli -a your_redis_password
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值