- docker中安装mysql有两种方法,一种是直接安装,一种是配置本低数据卷,直接挂载道本地,这样即使删除了镜像数据也不会消失
- 下载docker 镜像
docker pull mysql:5.7
1.直接安装
docker run --name mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
- MYSQL_ROOT_PASSWORD 设置密码
2.配置本低数据卷
- 在本地创建对应的data 和 conf文件和my.cnf文件,用来映射mysql镜像配
cd /home/docker/mysql/conf cd /home/docker/mysql/data mkdir my.cnf vi my.cnf
- 创建好文件后,执行mysql 镜像命令和映射命令
docker run -p 3306:3306 --name mysql-one-5.7 -v /home/docker/mysql/log:/var/log/mysql -v /home/docker/mysql/data:/var/lib/mysql -v /home/docker/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
- 启动后,输入docker ps 查看是否启动了容器,如果改容器,那么直接用数据库工具连接,注意:如果是阿里云,或者是腾讯云,需要去开放端口,如果是本低虚拟机,则不需要。
- cd 到本地conf 目录下 vim my.cnf 文件,并加入配置
[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
进入docker 的mysql 查看配置有没有同步
输入docker ps 查看端口号,然后
docker bash -it [端口号] bash
- 进入容器后输入
cd /etx/mysql
cat my.cnf
查看里面的配置如果和本低一样,那就说明同步成功
安装redis1, 挂载本低文件安装
- 先pull下来redis 的镜像
docker pull redis
- 创建本地挂载文件
/home/docker/redis/conf/redis.conf /home/docker/redis/data
- 配置run命令(需要把本地路径配置进去 -v )
docker run -d --privileged=true -p 6379:6379 --restart always -v /home/docker/redis/conf/redis.conf:/etc/redis/redis.conf -v /home/docker/redis/data:/data --name myredis redis redis-server /etc/redis/redis.conf --appendonly ye
2,直接安装
docker run -itd --name redis-test -p 6379:6379 redis安装minio
镜像
docker pull minio/minio
创建本地映射路径
mkdir -p /home/docker/minio/conf mkdir -p /home/docker/minio/data
执行映射命令
docker run -p 9000:9000 -p 9001:9001 --name minio -d --restart=always -e "MINIO_ACCESS_KEY=minioadmin" -e "MINIO_SECRET_KEY=minioadmin" -v /home/docker/minio/data:/data -v /home/docker/minio/conf:/root/.minio minio/minio server /data --console-address ":9001"
MINIO_ACCESS_KEY 设置登录账号
MINIO_SECRET_KEY 设置登录密码
然后docker ps 查看是否安装成功
然后访问:192.168.10.xx:9000 ,进入minio 的可视化页面,登录密码就是你设置的密码。
1, 如果是阿里云或者是其他什么云,你按照了直接,需要去它的控制台开放端口,比如阿里云的
- 我是把 tcp 和 udp 1-65535 都放开了,以后就不用再去处理这个,设置后最好重启虚拟机
- 如果是本地的虚拟机,一般来说是不用开放端口的,但有时候也是访问不到的,这个时候可以尝试一下,开发端口
开放 9000 和9001 端口 firewall-cmd --zone=public --add-port=9000/tcp --permanent firewall-cmd --zone=public --add-port=9001/tcp --permanent # 配置立即生效 firewall-cmd --reload 查看防火墙所有开放的端口 firewall-cmd --zone=public --list-ports 关闭防火墙 如果要开放的端口太多,嫌麻烦,可以关闭防火墙,安全性自行评估 systemctl stop firewalld.service 查看防火墙状态 firewall-cmd --state 查看监听的端口 netstat -lnpt 检查端口被哪个进程占用(这个不是很好用,有时候查不到) netstat -lnpt |grep 5672 查看进程的详细信息 ps 6832 中止进程 kill -9 6832 开启防火墙 systemctl start firewalld 开放端口 firewall-cmd --zone=public --add-port=3306/tcp --permanent 重启端口 firewall-cmd --reload 重启docker systemctl restart docker



