目录
1.下载镜像文件
$ sudo docker pull mysql:8.0.31

下载完成后查看一下镜像:sudo docker images

2.创建实例并启动
- //mysql版本5
- 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
-
- //mysql版本8
- 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/conf.d \
- -e MYSQL_ROOT_PASSWORD=root \
- -d mysql:8.0.31
【注意】mysql的不同版本对应的文件路径有点区别,mysql5版本下为/etc/mysql,而mysql8版本为/etc/mysql/conf.d,不然会一直报错启动不了容器。
上面命令中,-p是指端口映射:Linux下的3306对应mysql容器下的3306端口,访问Linux下的3306端口就能访问容器下的3306端口
-v 目录挂载,相当于:将冒号后面容器内的文件内容挂载到Linux下的文件中,在Linux下就可以实时观察到mysql容器里面文件夹的内容。

可以使用命令查看一下容器是否启动成功:
- //删除容器
- docker rm [容器名]
- //查看docker 容器
- docker ps

可以看到容器启动成功~
3.进入mysql容器
- $ sudo docker exec -it mysql /bin/bash
- //root账户下
- docker exec -it mysql /bin/bash
使用ls命令查看一下容器内结构:

1.下载镜像文件
- $ sudo docker pull redis
-
- //进入root下
- docker pull redis
2.创建实例并启动镜像
- //先创建redis在宿主机下映射的文件目录和redis.conf配置文件
- mkdir -p /mydata/redis/conf
- touch /mydata/redis/conf/redis.conf
-
- //root账户下,启动
- 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
指令含义和上面mysql对应一致,-p映射端口号,-v挂载文件。
![]()

可以直接在宿主机上进行修改redis的配置文件,然后重新启动docker容器即可。
查看容器是否启动:docker ps
启动成功~多了一个redis容器。
3.进入容器
- //root命令下
- docker exec -it redis redis-cli
- //直接进入redis的客户端redis-cli
4.修改redis的配置文件,使其可以持久化(AOF),可以没有这一步,看个人
在当前宿主机下执行以下命令
- vi redis.conf
- //写入:
- appendonly yes
-
- //重启redis
- docker restart redis
-
- //redis的配置文件,查看可以配置哪些内容
- https://www.redis.net.cn/tutorial/3504.html

然后测试一下,先将set aa bb(key:aa,value:bb)存入
然后重新启动一下redis容器:
- //root账户下
- docker restart redis
然后重新按照上述命令进入redis容器:docker exec -it redis redis-cli
然后get aa,看是否得到bb,如果得到说明持久化配置成功,否则失败。