MySql安装
对于镜像中需要持久化保存的⽂件,需要通过-v挂载到宿主机上,这样这些⽂件才不会随着容器关闭⽽消失。
对于MySQL,需要将他的⽇志⽂件、数据⽂件和配置⽂件挂载到宿主机上。
bash
# 拉取镜像
docker pull mysql:8
# 启动mysql并配置⼯作⽬录。将容器中的⼯作⽬录挂载到本机,这样这些数据⽂件才能持久化保存。
docker run -p 3306:3306 --name mysql8 -v /app/docker/mysql/log:/var/log/mysql -v /app/docker/mysql/data:/var/lib/mysql -v
/app/docker/mysql/conf:/etc/mysql -v /app/docker/mysql/mysql-files:/var/lib/mysql-files -e MYSQL_ROOT_PASSWORD=root -d mysql:8
# MySQL默认只能在本机登录,也就是只能从容器内登录。需要调整权限,允许远程访问。
docker container ls #获取容器ID
# 进⼊容器
docker exec -it 29387949bc43 /bin/bash
# 在容器内登录MySQL 。 不要输密码
mysql -u root
# 调整MySQL,允许远程连接
mysql> use mysql;
mysql> grant all PRIVILEGES on *.* to root@'%' WITH GRANT OPTION;
mysql> update user set host='%' where user='root';
mysql> ALTER user 'root'@'%' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER;
mysql> ALTER user 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
mysql> flush privileges;
# 如果都正常执⾏,那么MySQL服务就可以⽤客户端⼯具远程登录了。
Redis安装
同样,需要注意将Redis的配置⽂件和⽇志⽂件挂载到宿主机上。
bash
docker pull redis:latest
# 将Redis的配置⽂件和数据⽂件挂载到宿主机上
docker run -p 6379:6379 --name redis -v /Users/roykingw/docker/redis/config:/etc/redis.conf -v
/Users/roykingw/docker/redis/data:/app/redis -d redis redis-server /etc/redis.conf
# 如果正常执⾏,那么Redis的服务就可以⽤客户端⼯具远程登录了。