docker安装mysql和redis(完整详细版)

目录

下载mysql容器

docker下载redis 


下载mysql容器

使用root用户

下载mysql镜像 5.7版本 sudo docker pull mysql5.7

查看所有镜像 sudo docker images

创建并运行mysql容器

docker run -d -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:5.7

 查看当前运行的容器  docker ps

 进入到容器挂载的配置目录下 cd /mydata/mysql/confdocker安装mysql和redis(完整详细版)_第1张图片

创建my.cnf 文件 进入目录编辑以下内容(my.cnf配置文件解决插入中文乱码)

[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8

 重启mysql容器 让配置生效 docker restart mysql

进入mysql容器内部 docker exec -it mysql /bin/bash 输入账户密码

docker安装mysql和redis(完整详细版)_第2张图片

 查看当前字符集 show variables like 'character%'

docker安装mysql和redis(完整详细版)_第3张图片

外部测试连接mysql  (如果连接失败了,如果基本的连接信息(ip地址,端口号,用户名,密码)都没错,那就把Linux的防火墙服务关闭,命令:systemctl stop firewalld)

docker安装mysql和redis(完整详细版)_第4张图片

 不小心删掉mysql这个镜像实列 可以重新创建运行mysql容器 容器挂载文件要和之前目录一致 然后重新进入容器内部 数据都还在 (删除镜像实列 docker rm -f mysql)

docker run -d -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:5.7

docker下载redis 

下载最新版本reids 可以指定版本  docker pull redis

docker安装mysql和redis(完整详细版)_第5张图片

创建 容器挂载 data、myredis.conf 文件 

创建启动redis容器

–restart=always 总是开机启动

–appendonly yes 开启redis 持久化

–requirepass 000415 设置密码 

docker run --restart=always --log-opt max-size=100m --log-opt max-file=2 -p 6379:6379 --name myredis -v /mydata/redis/myredis/myredis.conf:/etc/redis/redis.conf -v /mydata/redis/myredis/data:/data -d redis redis-server /etc/redis/redis.conf  --appendonly yes  --requirepass 123456

 启动失败报错 重启docker service docker restart

docker安装mysql和redis(完整详细版)_第6张图片

成功界面

配置 myredis.conf文件

protected-mode no

port 6379

tcp-backlog 511

requirepass 000415

timeout 0

tcp-keepalive 300

daemonize no

supervised no

pidfile /var/run/redis_6379.pid

loglevel notice

logfile ""

databases 30

always-show-logo yes

save 900 1
save 300 10
save 60 10000

stop-writes-on-bgsave-error yes

rdbcompression yes

rdbchecksum yes

dbfilename dump.rdb

dir ./

replica-serve-stale-data yes

replica-read-only yes

repl-diskless-sync no

repl-disable-tcp-nodelay no

replica-priority 100

lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no

appendonly yes

appendfilename "appendonly.aof"

no-appendfsync-on-rewrite no

auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb

aof-load-truncated yes

aof-use-rdb-preamble yes

lua-time-limit 5000

slowlog-max-len 128

notify-keyspace-events ""

hash-max-ziplist-entries 512
hash-max-ziplist-value 64

list-max-ziplist-size -2

list-compress-depth 0

set-max-intset-entries 512

zset-max-ziplist-entries 128
zset-max-ziplist-value 64

hll-sparse-max-bytes 3000

stream-node-max-bytes 4096
stream-node-max-entries 100

activerehashing yes

hz 10

dynamic-hz yes

aof-rewrite-incremental-fsync yes

rdb-save-incremental-fsync yes

 查看日志 docker logs --since 30m myredis

进入容器 docker exec -it myredis redis-cli

输入查看命令 没有权限 需要输入密码 

查看密码 config get requirepass

docker安装mysql和redis(完整详细版)_第7张图片

你可能感兴趣的:(docker,mysql,容器,redis)