Docker安装nacos v2.1.1

news2024/11/23 20:46:31

目录

  • 前言
  • 安装nacos
    • 安装步骤1:准备
      • 1. 安装docker
      • 2. 搜索可以使用的镜像。
      • 3. 选择合适的redis镜像。
      • 3. 也可从docker hub上搜索镜像。
    • 安装步骤2:拉取镜像
      • 拉取镜像
      • 查看已拉取的镜像
    • 安装步骤3:创建容器
      • 创建容器方式1:快速创建容器
      • 创建容器方式2:快速创建容器+开启验证
      • 创建容器方式3:快速创建容器+开启验证+Token
    • 安装步骤4:运行容器
    • 安装步骤5:检查是否安装成功
  • 容器设置
    • 容器随 docker 自动启动
    • 容器设置IP
  • 启用权限认证
    • 启用 Nacos 的权限认证
  • 其它操作
    • 登录容器
    • 工作目录/WorkingDir
    • 把容器中的 nacos 文件复制出来
    • 查看版本
    • docker inspect nacos1 : Config
    • nacos 配置文件
    • `nacos.core.auth.enabled` 配置项
    • 查看 nacos config 文件
    • 查看 nacos config 文件+认证
  • 参考

前言

  • CentOS Linux release 7.6.1810 (Core)
  • TencentOS Server 3.1
  • Docker version 19.03.14, build 5eb3275d40

安装nacos

安装步骤1:准备

1. 安装docker

安装 docker 参考:[【Centos 8】【Centos 7】安装 docker](https://sayyy.blog.csdn.net/article/details/110642416)

2. 搜索可以使用的镜像。

```
shell> docker search nacos
NAME                             DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
nacos/nacos-server               This project contains a Docker image meant t…   416                  [OK]
nacos/nacos-peer-finder-plugin   scale plugin for nacos k8s                      2                    
nacos/nacos-mysql-master         nacos-mysql-master                              6                    
nacos/nacos-mysql-slave                                                          1                    
nacos/nacos-mysql                                                                7                    
nacos/nacos-operator                                                             3                    
```

3. 选择合适的redis镜像。

查找镜像。

版本拉取命令
最新版本docker pull nacos/nacos-server 或者 docker pull nacos/nacos-server:latest
2.1.1docker pull nacos/nacos-server:v2.1.1
2.2.1docker pull nacos/nacos-server:v2.2.1

3. 也可从docker hub上搜索镜像。

[docker hub](https://hub.docker.com),[docker hub-stage](https://hub-stage.docker.com/search?q=)。

安装步骤2:拉取镜像

拉取镜像

shell> docker pull nacos/nacos-server:v2.1.1

查看已拉取的镜像

shell> docker images

安装步骤3:创建容器

创建容器方式1:快速创建容器

shell> docker create -e MODE=standalone -e JVM_XMS=256m -e JVM_XMX=256m -p 8848:8848 \
--name nacos1 nacos/nacos-server:v2.1.1
  • v2.1.1可以匿名

创建容器方式2:快速创建容器+开启验证

shell> docker create -e MODE=standalone -e JVM_XMS=256m -e JVM_XMX=256m -p 8848:8848 \
-e NACOS_AUTH_ENABLE=true \
--name nacos1 nacos/nacos-server:v2.1.1
  • NACOS_AUTH_ENABLE: true 开启验证;false 不开启验证,默认值。
  • -e NACOS_AUTH_ENABLE=true 等于 nacos.core.auth.enabled=true

创建容器方式3:快速创建容器+开启验证+Token

shell> docker create --privileged=true -e MODE=standalone -e JVM_XMS=256m -e JVM_XMX=256m -p 8848:8848 \
-e PREFER_HOST_MODE=hostname \
-e NACOS_AUTH_ENABLE=true \
-e NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789 \
-e NACOS_AUTH_IDENTITY_KEY=serverIdentity \
-e NACOS_AUTH_IDENTITY_VALUE=security \
--name nacos1 nacos/nacos-server:v2.1.1

安装步骤4:运行容器

shell> docker start nacos1

安装步骤5:检查是否安装成功

http://localhost:8848/nacos
在这里插入图片描述

  • 默认用户名和密码:nacos

容器设置

容器随 docker 自动启动

设置容器的重启策略

shell> docker update --restart=always nacos1

每次docker启动时,容器也会自动启动

容器设置IP

向网络中添加容器

shell> docker network connect --ip 172.19.0.2  mynetwork nacos1 

启用权限认证

启用 Nacos 的权限认证

只要 nacos.core.auth.enabled 设置为 true 就行了:

### If turn on auth system:
nacos.core.auth.enabled=true

其它操作

登录容器

shell> docker exec -it nacos1 /bin/bash

工作目录/WorkingDir

"WorkingDir": "/home/nacos" 

把容器中的 nacos 文件复制出来

shell> docker cp -a nacos1:/home/nacos /data/nacos1/eg

查看版本

shell> docker ps | grep nacos1
98718e96f84f   nacos/nacos-server:v2.1.1   "bin/docker-startup.…"   18 minutes ago   Up 18 minutes   0.0.0.0:8848->8848/tcp, :::8848->8848/tcp   nacos1

docker inspect nacos1 : Config

shell> docker inspect nacos1
[
    {
    	...
        "Config": {
            "Hostname": "98718e96f84f",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": true,
            "AttachStderr": true,
            "ExposedPorts": {
                "8848/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "JVM_XMX=256m",
                "NACOS_AUTH_ENABLE=false",
                "MODE=standalone",
                "JVM_XMS=256m",
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "PREFER_HOST_MODE=ip",
                "BASE_DIR=/home/nacos",
                "CLASSPATH=.:/home/nacos/conf:",
                "CLUSTER_CONF=/home/nacos/conf/cluster.conf",
                "FUNCTION_MODE=all",
                "JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk",
                "NACOS_USER=nacos",
                "JAVA=/usr/lib/jvm/java-1.8.0-openjdk/bin/java",
                "JVM_XMN=512m",
                "JVM_MS=128m",
                "JVM_MMS=320m",
                "NACOS_DEBUG=n",
                "TOMCAT_ACCESSLOG_ENABLED=false",
                "TIME_ZONE=Asia/Shanghai"
            ],
            "Cmd": null,
            "Image": "nacos/nacos-server:v2.1.1",
            "Volumes": null,
            "WorkingDir": "/home/nacos",
            "Entrypoint": [
                "bin/docker-startup.sh"
            ],
            "OnBuild": null,
            "Labels": {
                "org.label-schema.build-date": "20201113",
                "org.label-schema.license": "GPLv2",
                "org.label-schema.name": "CentOS Base Image",
                "org.label-schema.schema-version": "1.0",
                "org.label-schema.vendor": "CentOS",
                "org.opencontainers.image.created": "2020-11-13 00:00:00+00:00",
                "org.opencontainers.image.licenses": "GPL-2.0-only",
                "org.opencontainers.image.title": "CentOS Base Image",
                "org.opencontainers.image.vendor": "CentOS"
            }
        },
        ...
    }
]

nacos 配置文件

找 nacos 配置文件,需要先登录容器:

  • /home/nacos/bin/docker-startup.sh :有一部分配置在这个文件中
  • /home/nacos/conf/application.properties : 有一部分配置在这个文件中

nacos.core.auth.enabled 配置项

nacos.core.auth.enabled 配置项在 docker-startup.sh 文件中

查看 nacos config 文件

shell> curl -XGET 'http://localhost:8848/nacos/v1/cs/configs?dataId=test.yaml&group=DEFAULT_GROUP'
this config content:Hello World!

windows:

cmd> curl "http://localhost:8848/nacos/v1/cs/configs?dataId=test.yaml&group=DEFAULT_GROUP"
this config content:Hello World!

查看 nacos config 文件+认证

启动认证后,提示403:

shell> curl -XGET 'http://localhost:8848/nacos/v1/cs/configs?dataId=test.yaml&group=DEFAULT_GROUP'
{"timestamp":"2023-08-13T17:23:36.260+08:00","status":403,"error":"Forbidden","path":"/nacos/v1/cs/configs"}

URL中添加认证:

shell> curl -XGET 'http://localhost:8848/nacos/v1/cs/configs?dataId=test.yaml&group=DEFAULT_GROUP&tenant=&username=nacos&password=nacos'
this config content:Hello World!

参考

https://blog.csdn.net/u013305864/article/details/125611099
https://blog.csdn.net/weixin_44155966/article/details/125008267
https://www.cnblogs.com/allennote/articles/12459907.html
https://nacos.io/zh-cn/docs/v2/quickstart/quick-start-docker.html
https://nacos.io/zh-cn/docs/v2/guide/user/auth.html
https://blog.csdn.net/qq_27384769/article/details/124469007

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/872144.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言实现扫雷游戏(附完整代码)

大家好,欢迎来到Mr.kanglong的CSDN博客,这篇博客来讨论一下如何使用C语言实现扫雷游戏,其实扫雷游戏和我之前写的三子棋游戏大体实现框架一样,只是逻辑有所不同。 目录 扫雷游戏介绍 游戏效果 实现代码 game.c game.h test.c 扫…

React学习之路 - 上传代码到GitCode

Git 全局设置 git config --global user.name "AnyaPapa" git config --global user.email "fangtaihongqq.com" 添加SSH密钥 Mac终端输入命令 cd existing_folder git init git remote add origin gitgitcode.net:Java_1710/test.git git add . git com…

msvcr120.dll丢失怎样修复?总结三个dll修复方法

当我遇到msvcr120.dll丢失的问题时,我感到有些困惑和焦虑。因为这个问题会导致我无法运行依赖这个文件的应用程序。msvcr120.dll是运行时库文件的一部分,为应用程序提供了必要的运行时支持。它的丢失会导致应用程序无法正常运行,这让我意识到…

【单片机毕业设计3-基于stm32c8t6的智能家居系统】

【单片机毕业设计3-基于stm32c8t6的智能家居系统】 前言一、功能介绍二、硬件部分三、软件部分总结 前言 🔥这里是小殷学长,单片机毕业设计篇3 基于stm32的智能家居控制系统 🧿创作不易,拒绝白嫖(有需可点击最后链接&a…

[C++] 一篇带你了解C++中动态内存管理,new让大家都有对象

目录 1、C/C内存分布 2.、C语言中动态内存管理方式:malloc、calloc、realloc 3、C内存管理方式 3.1 new/delete操作内置类型 3.2 new和delete操作自定义类型 3.3 malloc与new的异常处理机制 4、operator new与operator delete函数 4.1 operator new与operat…

寻找适合你的在线客服系统?这里有8款推荐(2023年8月更新)

近年来,随着网站交互性的提升,越来越多的企业开始关注并采用在线客服系统,以便更好地与访客互动和沟通。尤其对于外贸网站等需要频繁沟通的行业来说,选择一个合适的在线客服系统显得尤为重要。在这篇文章中,我们将为您…

小白带你学习linux的Redis3.2集群(三十三)

目录 一、Redis主从复制 1、概念 2、作用 3、缺点 4、流程 5、搭建 6、验证 二、Reids哨兵模式 1、概念 2、作用 3、缺点 4、结构 5、搭建 6、验证 三、Redis集群 1、概述 2、原理 3、架构细节 4、选举过程 四、搭建 1、第一步现在外部使用finalshell 9.9…

【Java】ThreadLocal详细解析

ThreadLocal全面解析 前置知识 具有一定的javase和javaweb基础熟悉synchronized关键字熟悉HashMap熟悉 JDBC技术 学习目标 了解ThreadLocal的介绍掌握ThreadLocal的运用场景了解ThreadLocal的内部结构了解ThreadLocal的核心方法源码了解ThreadLocalMap的源码 1. ThreadLoc…

css 实现 html 元素内文字水平垂直居中的N种方法

上一篇博文写了div 中元素居中的N种常用方法,那么单个html元素:div(块级元素代表),span(行内元素代表)中的文字如何水平垂直都居中呢?实现方法如下: 本文例子使用的 html…

机器学习实战5-KMeans聚类算法

文章目录 概述KMeansKMeans参数&接口n_clusters质心inertia模型评估指标轮廓系数Calinski-Harabaz Index 重要参数init & random_state & n_init:初始质心怎么放好?重要参数max_iter & tol:让迭代停下来重要属性与重要接口 概述 聚类 …

微信公众号开发基础

开发文档 https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Get_access_token.html 一、接入微信公众平台开发 开发者需要按照如下步骤完成: 1.1 填写服务器配置 1.2 验证服务器地址的有效性 开发者提交信息后,微信服务器将发…

【编织时空一:探究顺序表与链表的数据之旅】

本章重点 线性表 顺序表 顺序表OJ题 1.线性表 线性表(linear list)是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串... 线性表在逻辑上是线性结…

Linux命令 -- vim

Linux命令 -- vim 前言一般模式光标移动复制粘贴内容查找 底线命令行模式 前言 用vim指令进入文件。 刚进入时是命令行模式,也叫一般模式。 按i或者insert进入编辑模式,此时可以编辑文件内容。 按esc可从编辑模式退回到一般模式,输入冒号进…

[C++ 网络协议编程] TCP/IP协议

目录 1. TCP/IP协议栈 2. TCP原理 2.1 TCP套接字中的I/O缓冲 2.2 TCP工作原理 2.2.1 三次握手(连接) 2.2.2 与对方主机的数据交换 2.2.3 四次握手(断开与套接字的连接) TCP(Transmission Control Protocol传输控…

【Apollo】阿波罗自动驾驶:塑造自动驾驶技术的未来

前言 Apollo (阿波罗)是一个开放的、完整的、安全的平台,将帮助汽车行业及自动驾驶领域的合作伙伴结合车辆和硬件系统,快速搭建一套属于自己的自动驾驶系统。 开放能力、共享资源、加速创新、持续共赢是 Apollo 开放平台的口号。百度把自己所拥有的强大、…

前后端分离------后端创建笔记(03)前后端对接(上)

本文章转载于【SpringBootVue】全网最简单但实用的前后端分离项目实战笔记 - 前端_大菜007的博客-CSDN博客 仅用于学习和讨论,如有侵权请联系 源码:https://gitee.com/green_vegetables/x-admin-project.git 素材:https://pan.baidu.com/s/…

Reinforcement Learning with Code【Code 6. Advantage Actor-Critic(A2C)】

Reinforcement Learning with Code【Code 6. Advantage Actor-Critic(A2C)】 This note records how the author begin to learn RL. Both theoretical understanding and code practice are presented. Many material are referenced such as ZhaoShiy…

你不得不懂的IT知识-《敏捷项目管理》

国林哥在IBM时,几乎每天都会收到关于“敏捷”相关的邮件,公司鼓励我们去学习邮件里的知识,参加敏捷相关的认证和培训。刚开始我和大多数同事一样不管不顾,后来随着PBC里要求加上成长目标,比如要获得一个认证&#xff0…

为什么要试用CRM系统?有什么优点?

对于那些正在进行CRM选型的企业来说,想要了解一款CRM系统是否好用,亲自试用无疑是最好的方法。那么,有没有可以免费试用的在线CRM系统 CRM系统免费试用的好处 体验产品功能:您可以亲自操作和测试CRM系统的各项功能,如…

从一个GPU到多个GPU

在多GPU运行应用程序时,需要正确设计GPU之间的通信,GPU间数据传输的效率取决于GPU是如何连接在一个节点上并跨集群的 在多GPU系统里有两种连接方式 多GPU通过单个节点连接到PCIe总线上 多GPU连接到集群中的网络交换机上 /* * 本示例演示了如何使用 Open…