Docker安装Mysql,Redis,ES ....
Docker 安装 Mysql , Redis,ElasticSearch,Kibana,RabbitMQ,Zipkin,Nacos,Minio Docker服务器环境搭建
🍀java全知识点学习笔记 思维导图 面试跳槽必备 码云仓库地址 [https://gitee.com/vx202158/vx202158.git](https://gitee.com/vx202158/vx202158.git) 🍀
01-服务器环境搭建
如何安装VMWare并且安装linux系统,并且能连上它
1、怎么找到各种linux下载地方
centos 镜像:http://mirror.centos.org/
2、找到最小镜像
3、磁盘40G、CPU2核、内存4G
4、默认装好纯净系统需要设置
5、设置网络
一、统一虚拟机设置
1、修改VMnet8网卡
2、确认网卡信息
3、修改linux静态ip
#网卡所在目录 cd /etc/sysconfig/network-scripts/ ls
# 如上图,则修改ens33即可,下面为模板, # 需要注意的字段。 # ONBOOT=yes IPADDR=192.168.200.130 GATEWAY=192.168.200.2 # NETMASK=255.255.255.0 DNS1=114.114.114.114 BOOTPROTO=static TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens33 UUID=b8fd5718-51f5-48f8-979b-b9f1f7a5ebf2 DEVICE=ens33 ONBOOT=yes IPADDR=192.168.200.188 GATEWAY=192.168.200.2 NETMASK=255.255.255.0 DNS1=114.114.114.114 ### 你的网卡至少可以为 BOOTPROTO=static DEFROUTE=yes NAME=ens33 UUID=b8fd5718-51f5-48f8-979b-b9f1f7a5ebf2 DEVICE=ens33 ONBOOT=yes IPADDR=192.168.200.130 GATEWAY=192.168.200.2 NETMASK=255.255.255.0 DNS1=114.114.114.114
4、用xshell等工具连接
设置完以上静态ip后,使用xshell等连接使用即可
hostnamectl set-hostname lfy
CentOS7.9 默认已经关闭了***
5、时间同步
本地虚拟机环境会由于服务器时间问题,导致各种软件故障,需要开启时间同步
yum -y install ntp ntpdate ntpdate 0.asia.pool.ntp.org date hwclock --systohc ## 以上不运行都行 mv /etc/localtime /etc/localtime.bak ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
自己建立虚拟机的集群。linux时间同步要做好。容器的时间,经常和系统时间不一样?
容器:基础镜像;alpine。 默认UTC
我们都是调整了的 CST
docker run -v /etc/localtime:/etc/localtime:ro 镜像名
二、安装Docker
sudo yum remove docker*
sudo yum install -y yum-utils sudo yum-config-manager \ --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum install -y docker-ce-19.03.15 docker-ce-cli-19.03.15 containerd.io-1.4.3
sudo systemctl enable docker --now
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"], "log-driver": "json-file", "log-opts": { "max-size": "100m" } } EOF sudo systemctl daemon-reload sudo systemctl restart docker
#1、安装Docker-Compose, 批量启停服务 curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose
三、部署中间件-Docker版
1、MySQL
##1、部署 docker run -p 3306:3306 --name mysql-01 \ -v /mydata/mysql-01/log:/var/log/mysql \ -v /mydata/mysql-01/data:/var/lib/mysql \ -v /mydata/mysql-01/conf:/etc/mysql/conf.d \ -e MYSQL_ROOT_PASSWORD=root \ --restart=always \ -d mysql:5.7
##2、配置初始化 mkdir -p /mydata/mysql-01/conf && vim /mydata/mysql-01/conf/default.cnf [client] default-character-set=utf8mb4 [mysql] default-character-set=utf8mb4 [mysqld] init_connect='SET collation_connection = utf8mb4_unicode_ci' init_connect='SET NAMES utf8mb4' character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci skip-character-set-client-handshake skip-name-resolve
##3、设置root远程连接 #1、进入master容器 docker exec -it mysql /bin/bash #2、进入mysql内部 mysql –uroot -p #1)、授权root可以远程访问( 主从无关,为了方便我们远程连接mysql) grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option; flush privileges; ##或者,-h docker run -it --rm mysql:5.7 mysql -uroot -h172.17.0.2 -p grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option; flush privileges;
2、Redis
## 1、准备redis配置文件内容 mkdir -p /mydata/redis-01/conf && vim /mydata/redis-01/conf/redis.conf #开启持久化 appendonly yes port 6379 requirepass Lfy123!@! bind 0.0.0.0
docker run -d -p 6379:6379 --restart=always \ -v /mydata/redis-01/conf/redis.conf:/etc/redis/redis.conf \ -v /mydata/redis-01/data:/data \ --name redis-01 redis:6.2.5 \ redis-server /etc/redis/redis.conf # docker run xxxx imageName redis-server xx
3、ELK
# 1、设置Linux进程限制内存 vim /etc/sysctl.conf vm.max_map_count=655360 # 2、设置生效 sysctl -p # 或者 sysctl --system
1、ElasticSearch
# 提前授权 mkdir -p /mydata/es-01 && chmod 777 -R /mydata/es-01
docker run --restart=always -d -p 9200:9200 -p 9300:9300 \ -e "discovery.type=single-node" \ -e ES_JAVA_OPTS="-Xms512m -Xmx512m" \ -e "bootstrap.memory_lock=true" \ -v es-config:/usr/share/elasticsearch/config \ -v /mydata/es-01/data:/usr/share/elasticsearch/data \ --ulimit nofile=65535:65535 \ --ulimit memlock=-1:-1 \ --name es-01 \ elasticsearch:7.13.4 #放大容器的进程树
#1、下载ik分词插件 wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.13.4/elasticsearch-analysis-ik-7.13.4.zip #2、解压 unzip -d ik elasticsearch-analysis-ik-7.13.4.zip #3、复制到容器内部plugins目录 docker cp ik 容器id:/usr/share/elasticsearch/plugins #了解下反向操作 docker cp 容器id:/usr/share/elasticsearch/xxx abc #4、重启es docker restart 容器id
2、Kibana
docker run --name kib01 -d --restart=always \ --link 02b39a5a3874:es01 -p 5601:5601 -e "ELASTICSEARCH_HOSTS=http://es01:9200" \ kibana:7.13.4 #小知识: --link <name or id>:alias
ELK:ElasticSearch+Logstash+Kibana
EFK:ElasticSearch+Filebeats+Kibana
3、Filebeats
# 1、启动日志收集器 docker run -d \ --name=filebeat \ --restart=always \ -v filebeat-conf:/usr/share/filebeat \ -v /var/log/messages:/var/log/messages \ --link 02b39a5a3874:es01 \ elastic/filebeat:7.13.4 # 注意: # /var/log/messages 就是记录了当前主机的日志。yum mysql,redis,主机上服务的日志都在这儿 # 1、 --link 7863831f1b58:es01 要用自己es容器的id # 2、-v filebeat-conf:/usr/share/filebeat; /usr/share/filebeat下有很多东西,包含配置文件。要整个挂载出来
#1、修改配置文件: cd /var/lib/docker/volumes/filebeat-conf/_data vim filebeat.yml #内容如下
filebeat.inputs: - type: log enabled: true paths: - /var/log/messages filebeat.config: modules: path: ${path.config}/modules.d/*.yml reload.enabled: false processors: - add_cloud_metadata: ~ - add_docker_metadata: ~ output.elasticsearch: hosts: 'es01:9200' indices: - index: "filebeat-%{+yyyy.MM.dd}"
问题解决:
如果此时docker logs xx,查看filebeat日志,会打印没有var/log/messages 的权限
chmod 777 -R /var/log/messages
4、Logstash
因为logstash是jvm跑的,资源消耗比较大,所以后来作者又用golang写了一个功能较少但是资源消耗也小的轻量级的logstash-forwarder。不过作者只是一个人,加入http://elastic.co公司以后,因为es公司本身还收购了另一个开源项目packetbeat,而这个项目专门就是用golang的,有整个团队,所以es公司干脆把logstash-forwarder的开发工作也合并到同一个golang团队来搞,于是新的项目就叫 filebeat了。
logstash 和filebeat都具有日志收集功能,filebeat更轻量,占用资源更少,但logstash 具有filter功能,能过滤分析日志。一般结构都是filebeat采集日志,然后发送到消息队列,redis,kafaka。然后logstash去获取,利用filter功能过滤分析,然后存储到elasticsearch中
就像垃圾车和环卫工人的关系。
垃圾车也能直接让你把垃圾扔车上带走,但他动静大,环卫工人动静小,不吵到你。
#1、logstash配置 mkdir -p /mydata/logstash && vim /mydata/logstash/logstash.conf input { tcp { mode => "server" host => "0.0.0.0" port => 5044 codec => json_lines } } filter{ } output { elasticsearch { hosts => "es01:9200" index => "gmall-%{+YYYY.MM.dd}" } }
docker run --name logstash -p 5044:5044 \ --restart=always \ --link 02b39a5a3874:es01 \ -v /mydata/logstash/logstash.conf:/usr/share/logstash/pipeline/logstash.conf \ -d logstash:7.13.4
4、RabbitMQ
https://hub.docker.com/_/rabbitmq?tab=description&page=1&ordering=last_updated
#docker pull rabbitmq:3.8-management docker run -d --name rabbit01 -e RABBITMQ_DEFAULT_USER=admin \ -e RABBITMQ_DEFAULT_PASS=admin \ -p 15672:15672 -p 5672:5672 \ --hostname gmall-rabbit --restart=always \ -v rabbit-data:/var/lib/rabbitmq \ -v rabbit-conf:/etc/rabbitmq \ rabbitmq:3.8-management
5、Zipkin
Sleuth
#docker pull openzipkin/zipkin:2 docker run -d --restart=always -p 9411:9411 \ --name zipkin \ openzipkin/zipkin:2
SkyWalking;也是同类很不错的中间件
6、Sentinel
https://github.com/alibaba/Sentinel/wiki/%E4%BB%8B%E7%BB%8D
需要自制镜像:
# 1、下载sentinel对应版本控制台 wget https://github.com/alibaba/Sentinel/releases/download/1.8.2/sentinel-dashboard-1.8.2.jar #官网默认的启动命令 java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard.jar
#在下载的jar包位置编写如下 vim Dockerfile FROM openjdk:8 COPY sentinel-dashboard-1.8.2.jar /app.jar EXPOSE 8080 ENTRYPOINT ["java","-Dserver.port=8080","-Dcsp.sentinel.dashboard.server=localhost:8080","-Dproject.name=sentinel-dashboard","-jar","/app.jar"]
#构建自己镜像. 别忘了命令后面的小数点 docker build -t sentinel:1.8.2 -f Dockerfile . #推送镜像【可选】 docker login # 1、改变镜像名,加上自己的前缀地址 docker tag sentinel:1.8.2 leifengyang/sentinel:1.8.2 docker push leifengyang/sentinel:1.8.2
#启动sentinel容器 docker run -d -p 8858:8080 \ --name sentinel-dashboard --restart=always \ leifengyang/sentinel:1.8.2
7、Nacos
https://nacos.io/zh-cn/docs/what-is-nacos.html
参照文档使用数据库版部署方式
#1、下载nacos数据库文件 #https://github.com/alibaba/nacos/blob/develop/distribution/conf/nacos-mysql.sql #2、要执行以下文件,按照要求先创库 CREATE DATABASE `nacos_config`; USE DATABASE `nacos_config`; #################################################### /* * Copyright 1999-2018 Alibaba Group Holding Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /******************************************/ /* 数据库全名 = nacos_config */ /* 表名称 = config_info */ /******************************************/ CREATE TABLE `config_info` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', `data_id` varchar(255) NOT NULL COMMENT 'data_id', `group_id` varchar(255) DEFAULT NULL, `content` longtext NOT NULL COMMENT 'content', `md5` varchar(32) DEFAULT NULL COMMENT 'md5', `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', `src_user` text COMMENT 'source user', `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip', `app_name` varchar(128) DEFAULT NULL, `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段', `c_desc` varchar(256) DEFAULT NULL, `c_use` varchar(64) DEFAULT NULL, `effect` varchar(64) DEFAULT NULL, `type` varchar(64) DEFAULT NULL, `c_schema` text, PRIMARY KEY (`id`), UNIQUE KEY `uk_configinfo_datagrouptenant` (`data_id`,`group_id`,`tenant_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info'; /******************************************/ /* 数据库全名 = nacos_config */ /* 表名称 = config_info_aggr */ /******************************************/ CREATE TABLE `config_info_aggr` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', `data_id` varchar(255) NOT NULL COMMENT 'data_id', `group_id` varchar(255) NOT NULL COMMENT 'group_id', `datum_id` varchar(255) NOT NULL COMMENT 'datum_id', `content` longtext NOT NULL COMMENT '内容', `gmt_modified` datetime NOT NULL COMMENT '修改时间', `app_name` varchar(128) DEFAULT NULL, `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段', PRIMARY KEY (`id`), UNIQUE KEY `uk_configinfoaggr_datagrouptenantdatum` (`data_id`,`group_id`,`tenant_id`,`datum_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='增加租户字段'; /******************************************/ /* 数据库全名 = nacos_config */ /* 表名称 = config_info_beta */ /******************************************/ CREATE TABLE `config_info_beta` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', `data_id` varchar(255) NOT NULL COMMENT 'data_id', `group_id` varchar(128) NOT NULL COMMENT 'group_id', `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name', `content` longtext NOT NULL COMMENT 'content', `beta_ips` varchar(1024) DEFAULT NULL COMMENT 'betaIps', `md5` varchar(32) DEFAULT NULL COMMENT 'md5', `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', `src_user` text COMMENT 'source user', `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip', `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段', PRIMARY KEY (`id`), UNIQUE KEY `uk_configinfobeta_datagrouptenant` (`data_id`,`group_id`,`tenant_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_beta'; /******************************************/ /* 数据库全名 = nacos_config */ /* 表名称 = config_info_tag */ /******************************************/ CREATE TABLE `config_info_tag` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', `data_id` varchar(255) NOT NULL COMMENT 'data_id', `group_id` varchar(128) NOT NULL COMMENT 'group_id', `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id', `tag_id` varchar(128) NOT NULL COMMENT 'tag_id', `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name', `content` longtext NOT NULL COMMENT 'content', `md5` varchar(32) DEFAULT NULL COMMENT 'md5', `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', `src_user` text COMMENT 'source user', `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip', PRIMARY KEY (`id`), UNIQUE KEY `uk_configinfotag_datagrouptenanttag` (`data_id`,`group_id`,`tenant_id`,`tag_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_tag'; /******************************************/ /* 数据库全名 = nacos_config */ /* 表名称 = config_tags_relation */ /******************************************/ CREATE TABLE `config_tags_relation` ( `id` bigint(20) NOT NULL COMMENT 'id', `tag_name` varchar(128) NOT NULL COMMENT 'tag_name', `tag_type` varchar(64) DEFAULT NULL COMMENT 'tag_type', `data_id` varchar(255) NOT NULL COMMENT 'data_id', `group_id` varchar(128) NOT NULL COMMENT 'group_id', `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id', `nid` bigint(20) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`nid`), UNIQUE KEY `uk_configtagrelation_configidtag` (`id`,`tag_name`,`tag_type`), KEY `idx_tenant_id` (`tenant_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_tag_relation'; /******************************************/ /* 数据库全名 = nacos_config */ /* 表名称 = group_capacity */ /******************************************/ CREATE TABLE `group_capacity` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID', `group_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Group ID,空字符表示整个集群', `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值', `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量', `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值', `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数,,0表示使用默认值', `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值', `max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量', `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', PRIMARY KEY (`id`), UNIQUE KEY `uk_group_id` (`group_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='集群、各Group容量信息表'; /******************************************/ /* 数据库全名 = nacos_config */ /* 表名称 = his_config_info */ /******************************************/ CREATE TABLE `his_config_info` ( `id` bigint(64) unsigned NOT NULL, `nid` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `data_id` varchar(255) NOT NULL, `group_id` varchar(128) NOT NULL, `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name', `content` longtext NOT NULL, `md5` varchar(32) DEFAULT NULL, `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, `src_user` text, `src_ip` varchar(50) DEFAULT NULL, `op_type` char(10) DEFAULT NULL, `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段', PRIMARY KEY (`nid`), KEY `idx_gmt_create` (`gmt_create`), KEY `idx_gmt_modified` (`gmt_modified`), KEY `idx_did` (`data_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='多租户改造'; /******************************************/ /* 数据库全名 = nacos_config */ /* 表名称 = tenant_capacity */ /******************************************/ CREATE TABLE `tenant_capacity` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID', `tenant_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Tenant ID', `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值', `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量', `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值', `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数', `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值', `max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量', `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', PRIMARY KEY (`id`), UNIQUE KEY `uk_tenant_id` (`tenant_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='租户容量信息表'; CREATE TABLE `tenant_info` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', `kp` varchar(128) NOT NULL COMMENT 'kp', `tenant_id` varchar(128) default '' COMMENT 'tenant_id', `tenant_name` varchar(128) default '' COMMENT 'tenant_name', `tenant_desc` varchar(256) DEFAULT NULL COMMENT 'tenant_desc', `create_source` varchar(32) DEFAULT NULL COMMENT 'create_source', `gmt_create` bigint(20) NOT NULL COMMENT '创建时间', `gmt_modified` bigint(20) NOT NULL COMMENT '修改时间', PRIMARY KEY (`id`), UNIQUE KEY `uk_tenant_info_kptenantid` (`kp`,`tenant_id`), KEY `idx_tenant_id` (`tenant_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='tenant_info'; CREATE TABLE `users` ( `username` varchar(50) NOT NULL PRIMARY KEY, `password` varchar(500) NOT NULL, `enabled` boolean NOT NULL ); CREATE TABLE `roles` ( `username` varchar(50) NOT NULL, `role` varchar(50) NOT NULL, UNIQUE INDEX `idx_user_role` (`username` ASC, `role` ASC) USING BTREE ); CREATE TABLE `permissions` ( `role` varchar(50) NOT NULL, `resource` varchar(255) NOT NULL, `action` varchar(8) NOT NULL, UNIQUE INDEX `uk_role_permission` (`role`,`resource`,`action`) USING BTREE ); INSERT INTO users (username, password, enabled) VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', TRUE); INSERT INTO roles (username, role) VALUES ('nacos', 'ROLE_ADMIN');
#1、准备nacos配置文件信息 conf/application.properties mkdir -p /mydata/nacos/conf/ && vim /mydata/nacos/conf/application.properties ##内容如下,注意改成自己数据库域名和账号密码 spring.datasource.platform=mysql db.num=1 db.url.0=jdbc:mysql://mysql-01:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true db.user=root db.password=root
#docker pull nacos/nacos-server:2.0.2 docker run -d -p 8848:8848 --name=nacos \ --link b9c669ab9c17:mysql-01 \ -v /mydata/nacos/conf/:/home/nacos/init.d/ \ -e MODE=standalone \ --restart=always \ nacos/nacos-server:2.0.2 #访问8848,默认账号密码为 nacos:nacos 进去以后一定修改为自己的;如: lfy123456 docker run -d -p 8848:8848 --name=nacos \ -e MODE=standalone \ --restart=always \ nacos/nacos-server:2.0.2
8、Minio
OSS(Object Storage Service):对象存储服务
docker run -p 9000:9000 -p 9001:9001 -d --restart=always \ -v /ossdata:/data \ -v /mydata/minio/config:/root/.minio \ -v /etc/localtime:/etc/localtime:ro \ -e "MINIO_ACCESS_KEY=admin" \ -e "MINIO_SECRET_KEY=admin123456" \ --name minio minio/minio \ server --console-address ":9001" /data
四、访问文档
192.168.200.188:8848/nacos
五、前端部署
## 1、准备全局加速 npm config set registry https://registry.npm.taobao.org npm config set sass_binary_site=https://npm.taobao.org/mirrors/node-sass ## 2、安装前端依赖 npm install ## 3、重新install npm run dev
docker run -d -p 80:80 --name gmall-admin-vue \ --restart=always \ -v /mydata/admin-vue:/usr/share/nginx/html \ nginx #额外 --add-host=myhostname:10.180.8.1 #compose用 extra_hosts: - "somehost:162.242.195.82" - "otherhost:50.31.209.229"
恭喜~~~
前置基础环境搭建完成
附录:云服务器使用
1、注册云平台
注册云平台:
青云 qingcloud.com
百度云 cloud.baidu.com
2、云平台核心
1、ECS
云服务器
2、VPC
隔离的私有网络
3、安全组
#java实习##学习路径##Java##秋招##实习##春招#***控制