Nacos安装
Step 1:拉取Nacos镜像
docker pull nacos/nacos-server:1.4.1
Step 2: 创建宿主机文件路径(文件夹)用于挂载(映射)Nacos容器内的数据
2-1 先创建文件夹
mkdir -p /opt/nacos/init.d/
mkdir -p /opt/nacos/logs
2-2 创建文件
touch custom.properties
2-3 custom.properties内容如下
#spring.security.enabled=false
#management.security=false
#security.basic.enabled=false
#nacos.security.ignore.urls=/**
#management.metrics.export.elastic.host=http://localhost:9200
# metrics for prometheus
management.endpoints.web.exposure.include=*
# metrics for elastic search
#management.metrics.export.elastic.enabled=false
#management.metrics.export.elastic.host=http://localhost:9200
# metrics for influx
#management.metrics.export.influx.enabled=false
#management.metrics.export.influx.db=springboot
#management.metrics.export.influx.uri=http://localhost:8086
#management.metrics.export.influx.auto-create-db=true
#management.metrics.export.influx.consistency=one
#management.metrics.export.influx.compressed=true
Step 3: 运行Nacos镜像(单机模式)
docker run -d -p 8848:8848 --restart=always -e MODE=standalone \
-v /opt/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties \
-v /opt/nacos/logs:/home/nacos/logs \
--name my-nacos nacos/nacos-server:1.4.1
Step 4: Nacos配置持久化到MySQL
4-1 进入容器
docker exec -it nacos容器id bash 来修改nacos持久化配置
4-2 编辑application.properties
vim /home/nacos/conf/application.properties
# spring
server.servlet.contextPath=${SERVER_SERVLET_CONTEXTPATH:/nacos}
server.contextPath=/nacos
server.port=${NACOS_APPLICATION_PORT:8848}
### The auth system to use, currently only 'nacos' is supported:
nacos.core.auth.system.type=${NACOS_AUTH_SYSTEM_TYPE:nacos}
### The token expiration in seconds:
nacos.core.auth.default.token.expire.seconds=${NACOS_AUTH_TOKEN_EXPIRE_SECONDS:18000}
### The default token:
nacos.core.auth.default.token.secret.key=${NACOS_AUTH_TOKEN:SecretKey012345678901234567890123456789012345678901234567890123456789}
### Turn on/off caching of auth information. By turning on this switch, the update of auth information would have a 15 seconds delay.
nacos.core.auth.caching.enabled=${NACOS_AUTH_CACHE_ENABLE:false}
nacos.core.auth.enable.userAgentAuthWhite=${NACOS_AUTH_USER_AGENT_AUTH_WHITE_ENABLE:false}
nacos.core.auth.server.identity.key=${NACOS_AUTH_IDENTITY_KEY:serverIdentity}
nacos.core.auth.server.identity.value=${NACOS_AUTH_IDENTITY_VALUE:security}
server.tomcat.accesslog.enabled=${TOMCAT_ACCESSLOG_ENABLED:false}
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D
# default current work dir
server.tomcat.basedir=
## spring security config
### turn off security
nacos.security.ignore.urls=${NACOS_SECURITY_IGNORE_URLS:/,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/**}
# metrics for elastic search
management.metrics.export.elastic.enabled=false
management.metrics.export.influx.enabled=false
nacos.naming.distro.taskDispatchThreadCount=10
nacos.naming.distro.taskDispatchPeriod=200
nacos.naming.distro.batchSyncKeyCount=1000
nacos.naming.distro.initDataRatio=0.9
nacos.naming.distro.syncRetryDelay=5000
nacos.naming.data.warmup=true
# 这里配置mysql的连接
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://10.83.43.39:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=NQULaJwY7u
4-3 退出容器 重启容器
[root@24a9fb62eb0f conf]# exit
docker restart 容器ID
Step 5: 访问
http://localhost:8848/nacos/#/login
MySQL安装
Step 1: 拉取MySQL镜像
docker pull mysql:5.7.34
Step 2: 创建MySQL文件路径用于挂载
/opt/mysql/conf
/opt/mysql/data
/opt/mysql/logs
PS:启动的时候可以设置环境变量来设置数据库密码
MYSQL_ROOT_PASSWORD :root的密码
MYSQL_USER :建一个普通用户
MYSQL_PASSWORD :普通用户的密码
Step 3: 运行MySQL镜像
docker run -p 3306:3306 --name tgy-mysql --restart=always --network=common-tgy-network \
-v /opt/mysql/conf:/etc/mysql/mysql.conf.d \
-v /opt/mysql/logs:/logs \
-v /opt/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.34
Step 4: 更新Root用户密码
4-1: 进入容器
docker exec -it mysql容器id bash
4-2: 登录MySQL
mysql -uroot -p
4-3: 更新
update mysql.user set authentication_string=password('NQULaJwY7u') where user='root';
4-4: 更新完成后记得刷新
flush privileges;
端口开放
1、开放端口
firewall-cmd --zone=public --add-port=5672/tcp --permanent # 开放5672端口
firewall-cmd --zone=public --remove-port=5672/tcp --permanent #关闭5672端口
firewall-cmd --reload # 配置立即生效
2、查看防火墙所有开放的端口
firewall-cmd --zone=public --list-ports
3.、关闭防火墙
如果要开放的端口太多,嫌麻烦,可以关闭防火墙,安全性自行评估
systemctl stop firewalld.service
4、查看防火墙状态
firewall-cmd --state
5、查看监听的端口
netstat -lnpt