1 拉去mysql镜像
sudo docker pull mysql:8.0
2 启动mysql容器
# --name指定容器名字 -v目录挂载 -p指定端口映射 -e设置mysql参数 -d后台运行
sudo docker run --name mysql -v /dockermysql/mysql/data:/var/lib/mysql -v /dockermysql/mysql/conf:/etc/mysql/ -v /dockermysql/mysql/log:/var/log/mysql -e MYSQL_ROOT_PASSWORD=1208 -p 3306:3306 -d mysql:5.7
3 使用su - root(切换为root,这样就不用每次都sudo来赐予了)
su - root
4 进入mysql容器
docker exec -it 容器名称|容器id bin/bash
docker exec -it mysql /bin/bash
5、远程登录授权
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY'1208';
6、刷新权限更改后需要重新加载
flush privileges;
《细节》
使用自定义 MySQL 配置文件
-v /dockermysql/mysql/conf/[xxx.cnf]:/etc/mysql/conf.d/[xxx.cnf]
xxx.cnf 是自己写的配置文件 ,在这个 /etc/mysql/conf.d/
目录的配置会被
/etc/mysql/
目录的mysql自带的配置整合。所以使用自定义 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-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
安装redis
1 在docker hub搜索redis镜像
docker search redis
2 拉取redis镜像到本地
docker pull redis:6.0.10
3 修改需要自定义的配置(docker-redis默认没有配置文件,
自己在宿主机建立后挂载映射)
创建并修改nkdir /dockerredis/redis/conf
touch /dockerredis/redis/conf/redis.conf
bind 0.0.0.0 开启远程权限
appendonly yes 开启aof持久化
4 启动redis服务运行容器
docker run -p 6379:6379 --name redis -v /dockerredis/redis/data:/data -v /dockerredis/redis/conf/redis.conf:/etc/redis/redis.conf -d redis redis-server /etc/redis/redis.conf
解释: -v /usr/local/redis/data:/data # 将数据目录挂在到本地保证数据安全
-v /root/redis/redis.conf:/usr/local/etc/redis/redis.conf # 将配置文件挂在到本地修改方便
5 直接进去redis客户端。
docker exec -it redis redis-cli
netstat -tanlp 查看运行的进程
kill 进程号 杀进程
docker ps -a 查看运行过的容器
docker rm 4790bdc457ae删除容器实例