docker 安装 mysql5.7,redis,minio,nacos

在阿里云上的centos中,安装doker和配置

安装mysql

  • 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.配置本低数据卷

  • 在本地创建对应的dataconf文件和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

查看里面的配置如果和本低一样,那就说明同步成功

  • mac docker安装docker
    1、因为mac docker 官方没有提供m1芯片的镜像,所以没办法直接安装,但是mysql官网提供的有,所以我们直接 pull mysql官网提供的镜像。

docker pull mysql/mysql-server:latest

查看镜像:

docker iamges

docker run -p 3309:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql/mysql-server

这个时候直接链接mysql 是链接不上的,但是进入镜像输入 用户名和密码 是可以登录上的,这个时候其实是没有给到权限,除了m1 其他都可以,这里就很奇怪。所以这里要进去给mysql从新定义权限

docker exec -it mysql bash
mysql -u root -p

授权

use mysql;
update user set host='%' where user='root';
grant all privileges on *.* to 'root'@'%';

刷新权限

flush privileges;

然后重新链接,就能直接链接上
如果还是访问不到,输入

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

安装redis

1, 挂载本低文件安装

  • 先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

nacos关于docker 的安装

先安装镜像

docker pull nacos/nacos-server:1.3.1

  • 创建挂载文件目录
mkdir -p /opt/nacos/init.d
mkdir -p /opt/nacos/logs
cd /opt/nacos/init.d
touch custom.properties
  • 添加配置
    *在custom.properties文件中填写如下配置:

management.endpoints.web.exposure.include=*

  • 创建并启动容器
docker run -d -p 8848:8848 -e MODE=standalone \
-v /opt/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties \
-v /opt/nacos/logs:/home/nacos/logs \
--restart always \
--name my-nacos nacos/nacos-server:1.3.1
  • 访问Nacos控制台
http://ip地址:8848/nacos
登录账号(默认):nacos
登录密码(默认):nacos
 
tips:公网访问时,请确保防火墙已开启端口8848。

你可能感兴趣的:(mysql,docker,redis)