mysql
拉取mysql镜像
docker pull mysql:5.7
创建并运行mysql容器
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=123456\-d mysql:5.7
- -e 设置mysql, root用户的密码为123456
- -d 后台运行
- -v 挂载到宿主机,在宿主机就可以修改容器中mysql的配置文件
修改mysql配置文件
[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-service=utf8
collation-service=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
- skip-name-resolve 跳过域名解析,解决连接慢问题
配置后要重启mysql
docker restart mysql
redis
提前创建 redis.conf,不然挂载时会当做目录,因为 /etc/redis.conf 刚开始没有 redis.conf
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
docker run -p 6379:6379 --name redis\-v /mydata/redis/data:/data\-v /mydata/redis/conf/redis.conf:/etc/redis.conf\-d redis\redis-server /etc/redis.conf
- 第一个redis 时容器名,第二个redis是镜像名
- 最后一行表示,redis-server 以指定的配置文件运行
使用redis容器执行redis-cli命令连接
docker exec -it redis redis-cli
redis默认不开启持久化,开启在 redis.conf 中t添加如下配置
appendonly yes