③. 数据库mysql5.7安装
- ①. 用docker安装上mysql,去docker仓库里搜索mysql
sudo docker pull mysql:5.7 # --name指定容器名字 -v目录挂载 -p指定端口映射 -e设置mysql参数 -d后台运行 # -e后面参数:初始化root用户的密码。 sudo 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
[root@localhost vagrant]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6a685a33103f mysql:5.7 "docker-entrypoint.s…" 32 seconds ago Up 30 seconds 0.0.0.0:3306->3306/tcp, 33060/tcp mysql # 使用所护进程查看 docker exec -it mysql bin/bash exit;
②. 修改mysql的统一编码为utf-8
vi /mydata/mysql/conf/my.conf [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 docker restart mysql
③. 测试连接(在linux下找到ip,去navicat中进行连接)
④. 设置mysql开机自启动:sudo docker update mysql --restart=always
④. 缓存redis安装
①. 有坑如果直接挂载的话docker会以为挂载的是一个目录(/mydata/redis/conf/redis.conf,把redis.conf当成一个目录),所以我们先创建一个文件然后再挂载,在虚拟机中
# 在虚拟机中 mkdir -p /mydata/redis/conf touch /mydata/redis/conf/redis.conf docker pull redis 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客户端。 docker exec -it redis redis-cli
②. 默认是不持久化的。在配置文件中输入appendonly yes,就可以aof持久化了。修改完docker restart redis,
vim /mydata/redis/conf/redis.conf # 插入下面内容 appendonly yes # 重启redis docker restart redis # 进入redis容器内 docker exec -it redis redis-cli set name xiaozhi get name
③. 测试
④. 设置redis开机自启动:sudo docker update redis --restart=always