• 阿里云服务器中docker下安装nacos


    1、拉镜像,版本查看:https://github.com/nacos-group/nacos-docker

    docker pull nacos/nacos-server:1.1.4  //稳定版,无权限
    docker pull nacos/nacos-server:1.3.1  //稳定版,有权限

    2、创建目录

    mkdir -p /home/dockerdata/nacos/logs
    mkdir -p /home/dockerdata/nacos1.3.1/logs

    3、运行镜像  默认账号密码:nacos/nacos

    #1.1.4
    docker run -d 
    -e PREFER_HOST_MODE=ip 
    -e MODE=standalone 
    -e SPRING_DATASOURCE_PLATFORM=mysql 
    -e MYSQL_MASTER_SERVICE_HOST=172.168.1.33 
    -e MYSQL_MASTER_SERVICE_PORT=3306 
    -e MYSQL_MASTER_SERVICE_USER=root 
    -e MYSQL_MASTER_SERVICE_PASSWORD=root 
    -e MYSQL_MASTER_SERVICE_DB_NAME=nacos 
    -e MYSQL_SLAVE_SERVICE_HOST=172.168.1.33 
    -e MYSQL_SLAVE_SERVICE_PORT=3306 
    -v /home/dockerdata/nacos/logs:/home/nacos/logs 
    -p 8848:8848 
    --name nacos 
    --restart=always 
    nacos/nacos-server:1.1.4
    
    
      #1.3.1
    docker run -d 
    -e PREFER_HOST_MODE=ip 
    -e MODE=standalone 
    -e SPRING_DATASOURCE_PLATFORM=mysql 
    -e MYSQL_SERVICE_HOST=172.168.1.33 
    -e MYSQL_SERVICE_PORT=3306 
    -e MYSQL_SERVICE_USER=root 
    -e MYSQL_SERVICE_PASSWORD=root 
    -e MYSQL_SERVICE_DB_NAME=nacos 
    -e TIME_ZONE='Asia/Shanghai' 
    -v /home/dockerdata/nacos1.3.1/logs:/home/nacos/logs 
    -p 8848:8848 
    --name nacos1.3.1 
    --restart=always 
    nacos/nacos-server:1.3.1

    4、nacos初始化sql,需要先创建nacos数据库后,然后执行下面的sql

    https://github.com/alibaba/nacos/blob/master/config/src/main/resources/META-INF/nacos-db.sql

    1.1.4 升级1.3.1需要执行的脚本

    ALTER TABLE `roles` ADD UNIQUE `uk_username_role` (`username`, `role`); CREATE TABLE permissions ( role varchar(50) NOT NULL, resource varchar(512) NOT NULL, action varchar(8) NOT NULL, constraint uk_role_permission UNIQUE (role,resource,action) ) ROW_FORMAT=DYNAMIC;

    如果启动1.3.1报错,比如mysql时区异常,把conf配置文件弄到主机上

    docker cp nacos1.3.1:/home/nacos/conf /home/dockerdata/nacos1.3.1 


    #修改mysql的配置后


    docker stop nacos1.3.1docker rm nacos1.3.1 docker run -d -e PREFER_HOST_MODE=ip
    -e MODE=standalone
    -e SPRING_DATASOURCE_PLATFORM=mysql
    -e MYSQL_SERVICE_HOST=172.168.1.33
    -e MYSQL_SERVICE_PORT=3306 -e MYSQL_SERVICE_USER=root
    -e MYSQL_SERVICE_PASSWORD=root -e MYSQL_SERVICE_DB_NAME=nacos
    -e TIME_ZONE='Asia/Shanghai' -v /home/dockerdata/nacos1.3.1/logs:/home/nacos/logs
    -v /home/dockerdata/nacos1.3.1/conf:/home/nacos/conf -p 8848:8848
    --name nacos1.3.1 --restart=always acos/nacos-server:1.3.1

    5、访问nacos

    http://ip:8848/nacos/

    注意:一定要先打开数据库,在启动nacos 否则会报下面的错

    No DataSource set

    ERROR Application run failed
    
    org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'opsController' defined in URL [jar:file:/home/nacos/target/nacos-server.jar!/BOOT-INF/lib/nacos-config-1.1.4.jar!/com/alibaba/nacos/config/server/controller/OpsController.class]: Unsatisfied dependency expressed through constructor parameter 1; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dumpService': Invocation of init method failed; nested exception is java.lang.RuntimeException: Nacos Server did not start because dumpservice bean construction failure :
    No DataSource set
        at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:769)
        at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:218)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1308)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1154)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:538)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:498)
        at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:846)
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:863)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:546)
        at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:142)
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:775)
        at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:316)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1260)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1248)
        at com.alibaba.nacos.Nacos.main(Nacos.java:33)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:87)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:50)
        at org.springframework.boot.loader.PropertiesLauncher.main(PropertiesLauncher.java:593)
    Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dumpService': Invocation of init method failed; nested exception is java.lang.RuntimeException: Nacos Server did not start because dumpservice bean construction failure :
    No DataSource set
        at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:139)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:419)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1737)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:576)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:498)
        at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
        at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:273)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1237)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1164)
        at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:857)
        at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:760)
        ... 27 common frames omitted
    Caused by: java.lang.RuntimeException: Nacos Server did not start because dumpservice bean construction failure :
    No DataSource set
        at com.alibaba.nacos.config.server.service.dump.DumpService.init(DumpService.java:140)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:363)
        at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:307)
        at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:136)
        ... 40 common frames omitted

    最后不要忘记更改阿里云安全组的配置规则 

    如果还是访问不到建议查看防火墙是否开启

    一、防火墙的状态。有时打开防火墙外部不能访问。

    防火墙的命令:

    查看防火墙状态

    systemctl status firewalld


    开启防火墙 

    systemctl start firewalld


    关闭防火墙

     systemctl stop firewalld

    禁止开机启动防火墙 

    systemctl disable firewalld.service

    先用:

    systemctl unmask firewalld.service


    然后:

    systemctl start firewalld.service
    


    二、查看你的服务的端口号是否对外开放。
    命令:
    1.查询已经对外开放的端口

    netstat -anp


    2.查询指定端口是否已经开放

    firewall-cmd --query-port=8848/tcp


    返回yes/no。此时也有可能返回firewalld is not running,此时需要打开防火墙在开放端口。
    开放端口号命令:
    添加指定需要开放的端口:

    firewall-cmd --add-port=8848/tcp --permanent


    重载入添加的端口:

    firewall-cmd --reload


    查询指定端口是否开启成功:

    firewall-cmd --query-port=8848/tcp

    本博客参考自:https://www.cnblogs.com/binz/p/12295346.html

    https://blog.csdn.net/dagedeshu/article/details/109209157

  • 相关阅读:
    项目管理沙龙第十一次聚会纪要当敏捷没有共识的时候
    项目管理沙龙第十次聚会纪要AOM项目的敏捷实践
    项目管理沙龙第五次聚会
    微信小程序引入Vant组件
    Es6 Promise 及 截图软件Snipaste.exe
    微信小程序封装Request功能,请求接口
    我画的第二个 微信小程序页面
    我画的第一个 微信小程序页面
    微信小程序Vant获取用户信息及手机号
    小程序接入Echarts组件库
  • 原文地址:https://www.cnblogs.com/minmin123/p/13920617.html
Copyright © 2020-2023  润新知