安装docker的前期工作看这篇docker的零基础安装
docker换源为阿里云:
进入/etc/docker目录下,打开daemon.jsonzhe文件,把下边内容复制进去就行
{ "registry-mirrors": ["https://f1z25q5p.mirror.aliyuncs.com"] }
1. MySQL
1.拉取镜像
docker pull mysql:5.7
2.启动镜像
docker run -p 3306:3306 --name mysql_5.7 \ -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做端口映射
-v表示目录挂载, docker虚拟机里边的目录会挂在在外边方便修改
-e后边的就是root密码, 自己设
-d后边的是指定哪个docker镜像
3. 数据库配置文件修改
linux中我们做了目录挂载, 这样docker容器中的/etc/mysql这个目录等同于物理机的/mydata/mysql/conf这个文件夹
cd /mydata/mysql/conf 里边是空的
vi my.cnf
在里边新建一个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
4.重启docker镜像
docker restart mysql_5.7
配置完成
---------------------------------------下面为其他命令-----------------------------------------
*5 进入MySQL的docker容器
docker exec -it mysql_5.7 /bin/bash
进入后可以发现就是一个小型的linux系统, 可以查看他的/etc/mysql目录下有一个my.cnf 文件, 就是刚刚添加的配置文件
输入exit回车即可退出
*6 移除镜像
docker rm mysql_5.7
2. redis
1. 拉取镜像
docker pull redis (后边不指定版本号就是最新版)
2.修改配置启动redis
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
docker run -p 6379:637 --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.conf这个文件本身不在文件夹内,所以我们先创建
3. 连接redis客户端
docker exec -it redis redis-cli
4. 修改redis配置使之持久化
进入/mydata/redis/conf修改redis.conf文件
添加appendonly yes然后保存退出, 重启redis容器
docker restart redis