一、安装mysql
1、安装步骤
- 第一步:通过容器数据卷技术实现安装mysql,这样就算当前mysql容器被删除,那么再次重启mysql容器后,数据将会自动从宿主机加载到容器当中。
命令格式:
docker run -d -p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=111111 \
-v /hsymysqldata/mysql/log:/var/log/mysql \
-v /hsymysqldata/mysql/data:/var/lib/mysql \
-v /hsymysqldata/mysql/conf:/etc/mysql \
--name mysql mysql:5.7
说明:
- -e MYSQL_ROOT_PASSWORD=111111是设置当前mysql的密码为111111
- -v是设置容器数据卷,保证当前mysql容器被删除后,数据不丢失
- \ 为换行符
- 第二步:执行
docker run
命令后,再切换到宿主机在/hsymysqldata/mysql/conf
目录下进行如下配置解决插入中文数据异常问题。
在/hsymysqldata/mysql/conf
下创建my.cnf
文件,里面的内容为:
[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8
- 第三步:重启mysql容器,使配置文件生效
docker restart mysql
2、实例演示
第一步:执行docker run
第二部:解决中文乱码问题
第三步:重启mysql容器
第四步:进入mysql验证是否解决中文乱码问题
如下图,修改成功
测试是否能够插入中文数据
(1)创建数据库、数据表
(2)插入中文数据,插入成功
第五步:测试是否实现容器数据卷
删除mysql容器,重新docker run
mysql容器,进入mysql
查询数据,发现原mysql容器数据还在,验证成功
二、安装redis
- 第一步:挂载配置文件,将redis的配置文件进行挂载,以配置文件方式启动redis容器,保证在宿主机内修改文件的话也随之修改容器内部文件。
可在宿主机上新建/app/redis/
目录,在此目录下新建配置文件redis.conf
(可在官网查找)和目录data/
(实现数据的持久化)
- 第二步:修改
redis.conf
配置文件
- 注释
bind 127.0.0.1
,允许redis外地连接
- 将
daemonize yes
修改为no
,该配置和docker run
中-d
参数冲突,会导致容器启动失败
- 把保护模式改为
no
- 第三步:运行命令
docker run
docker run -d -p 6379:6379 \
-v /app/redis/redis.conf:/etc/redis/redis.conf \
-v /app/redis/data:/data \
--name redis7 redis:7.0 \
redis-server /etc/redis/redis.conf
说明:\ 为换行符
- 第四步:测试
测试成功!