Docker 精简安装 Nacos 2.2.1 单机版本

准备工作:

        1)已安装docker

        2)数据库准备,演示使用MySql5.7版本

1、拉取

[root@Tseng-HW ~]# docker pull nacos/nacos-server:v2.2.1
v2.2.1: Pulling from nacos/nacos-server
2d473b07cdd5: Already exists 
77c5a601c050: Pull complete 
5fce895ad971: Pull complete 
86555f63872e: Pull complete 
801400643684: Pull complete 
e63e427570f7: Pull complete 
4343e9b5093f: Pull complete 
61845c2b228d: Pull complete 
520260df9bc4: Pull complete 
4f4fb700ef54: Pull complete 
Digest: sha256:7300018322cadf17e8f00256197b361559efa6ab52a101ad52fbcd4f775dc057
Status: Downloaded newer image for nacos/nacos-server:v2.2.1
docker.io/nacos/nacos-server:v2.2.1
[root@Tseng-HW ~]#

2、创建挂载目录

[root@Tseng-HW ~]# mkdir -p /data/nacos/conf
[root@Tseng-HW ~]# mkdir -p /data/nacos/logs
[root@Tseng-HW ~]# mkdir -p /data/nacos/data

3、启动nacos,复制配置文件到挂载目录,备份配置文件、删除启动的nacos

[root@Tseng-HW ~]# docker run --name nacos221 -d -p 8848:8848 -e MODE=standalone  nacos/nacos-server:v2.2.1
5d9eecf4f9b5b5f138483fc711f4a4194b0d9d6d69ede4ad0a06e1fd711ee521
[root@Tseng-HW ~]# docker cp nacos221:/home/nacos/conf/ /data/nacos/
[root@Tseng-HW ~]# docker cp nacos221:/home/nacos/logs/ /data/nacos/
[root@Tseng-HW ~]# docker cp nacos221:/home/nacos/data/ /data/nacos/
[root@Tseng-HW ~]# cd /data/nacos/conf/
[root@Tseng-HW conf]# ls
1.4.0-ipv6_support-update.sql  application.properties  derby-schema.sql  mysql-schema.sql  nacos-logback.xml
[root@Tseng-HW conf]# cp application.properties application_bk.properties
[root@Tseng-HW conf]# docker rm 5d9e

4、创建数据库、执行数据库脚本,数据库脚本两个路径

        1)配置文件中:/data/nacos/conf 下的  application.properties 文件

[root@Tseng-HW ~]# cd /data/nacos/conf/
[root@Tseng-HW conf]# ls
1.4.0-ipv6_support-update.sql  application_bk.properties  application.properties  derby-schema.sql  mysql-schema.sql  nacos-logback.xml
[root@Tseng-HW conf]#

        2)GitHub地址

https://github.com/alibaba/nacos/blob/master/config/src/main/resources/META-INF/nacos-db.sqlicon-default.png?t=N7T8https://github.com/alibaba/nacos/blob/master/config/src/main/resources/META-INF/nacos-db.sql        3)创建数据库,执行脚本

Docker 精简安装 Nacos 2.2.1 单机版本_第1张图片

5、修改配置文件:application.properties

# spring
server.servlet.contextPath=/nacos
server.contextPath=/nacos
server.port=8848
server.tomcat.accesslog.max-days=30
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i %{Request-Source}i
server.tomcat.accesslog.enabled=false
# default current work dir
server.tomcat.basedir=file:.
#*************** Config Module Related Configurations ***************#
### Deprecated configuration property, it is recommended to use `spring.sql.init.platform` replaced.
#spring.datasource.platform=${SPRING_DATASOURCE_PLATFORM:}
spring.sql.init.platform=mysql
nacos.cmdb.dumpTaskInterval=3600
nacos.cmdb.eventTaskInterval=10
nacos.cmdb.labelTaskInterval=300
nacos.cmdb.loadDataAtStart=false
db.num=1
# 注意替换数据库的地址、断开、数据库名称、用户名、密码
db.url.0=jdbc:mysql://****:3308/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false
db.user.0=root
db.password.0=*****
### The auth system to use, currently only 'nacos' and 'ldap' is supported:
nacos.core.auth.system.type=nacos

# 是否开启鉴权功能,默认为false
nacos.core.auth.enabled=true

### worked when nacos.core.auth.system.type=nacos
### The token expiration in seconds: 用户登陆临时accessToken的过期时间
nacos.core.auth.plugin.nacos.token.expire.seconds=18000
### The default token: Base64加密前密码  TcmxJw05k$-_zcx.)8EtFC^D^F1W!IPr  加密网站:https://www.qqxiuzi.cn/bianma/base64.htm
nacos.core.auth.plugin.nacos.token.secret.key=VGNteEp3MDVrJC1femN4Lik4RXRGQ15EXkYxVyFJUHI=
### 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}
# 关闭使用user-agent判断服务端请求并放行鉴权的功能
nacos.core.auth.enable.userAgentAuthWhite=false
# 用于替换useragent白名单的身份识别key,不可为空,2.2.1后无默认值
nacos.core.auth.server.identity.key=nacosKey
# 用于替换useragent白名单的身份识别value,不可为空,2.2.1后无默认值
nacos.core.auth.server.identity.value=nacosValue
## 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

6、启动nacos

[root@Tseng-HW conf]# docker run -d --name nacos221 --ip 外网/内网IP地址 -p 8848:8848 -p 9848:9848 -p 9849:9849 --restart=always --env MODE=standalone --env NACOS_AUTH_ENABLE=true -v /data/nacos/conf/:/home/nacos/conf -v /data/nacos/logs:/home/nacos/logs -v /data/nacos/data:/home/nacos/data nacos/nacos-server:v2.2.1

         启动说明

docker run -d --name nacos221 \                       -d 表示运行在后台,--name 指定名称为nacos221,我这里安装了多个版本的
--ip ***.***.***.*** \                                访问的IP 地址
-p 8848:8848 \                                        前者为暴露给外部访问的端口,后者为nacos容器端口
-p 9848:9848 \                                        9848是nacos2.0.0版本以上必须要加上端口映射
-p 9849:9849 \                                        9849是nacos2.0.0版本以上必须要加上端口映射
--restart=always                                      Docker 重启时,容器自动启动
--env MODE=standalone \                               nacos以单机版启动,默认为cluster(集群)
--env NACOS_AUTH_ENABLE=true \                        如果使用官方镜像,请在启动docker容器时,添加如下环境变量
-v /data/docker/nacos/conf/:/home/nacos/conf \        nacos 配置文件目录,“:”前为服务器目录,“:”后为nacos容器中的目录
-v /data/docker/nacos/logs:/home/nacos/logs \         nacos 日志文件目录,“:”前为服务器目录,“:”后为nacos容器中的目录
-v /data/nacos/data:/home/nacos/data \                nacos 数据文件目录,“:”前为服务器目录,“:”后为nacos容器中的目录
nacos/nacos-server:v2.2.1                             指定 docker nacos 版本,这里是2.2.1版本

7、配置服务器安全组端口,访问:IP地址:8848/nacos ,用户名/密码:nacos/nacos 
Docker 精简安装 Nacos 2.2.1 单机版本_第2张图片

Docker 精简安装 Nacos 2.2.1 单机版本_第3张图片

你可能感兴趣的:(docker,容器)