在阿里云上的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.配置本低数据卷
- 在本地创建对应的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
查看里面的配置如果和本低一样,那就说明同步成功
- 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。