Docker安装nacos教程

首先服务器需要有docker环境,此文不介绍docker安装过程,如果不会可以看前几篇文章

1.首先拉取nacos镜像

docker pull nacos/nacos-server:v2.1.2

2.启动容器,

docker run -p 8848:8848 -p 9848:9848 -p 9849:9849 --name nacos-temp -d nacos/nacos-server:v2.1.2 

3.查看容器id

docker ps

在这里插入图片描述

4.复制容器内的 /home/nacos目录下的logs,data,conf目录到容器外(docker cp 后的容器id可以缩略写前几位)

docker cp 1315:/home/nacos/conf /home/nacos
 
docker cp 1315:/home/nacos/logs /home/nacos
 
docker cp 1315:/home/nacos/data /home/nacos

在这里插入图片描述

5.进入上一步操作的conf目录,修改目录下的application.properties的文件

spring.datasource.platform 增加mysql默认值

db.url.0
替换为自己的数据库ip,端口及数据库名,账号,密码。因为我的mysql环境与docker是在同一台主机上,所以此处填的是127.0.0.1

在这里插入图片描述

6.在自己的mysql数据库下新建名称为nacos的数据库,执行第5步conf目录下的mysql-schema.sql脚本(此处如果你的mysql环境是老的可以直接操作,如果是新建的环境需要确认是否已经开放用户的远程访问权限,没有的话会容器启动会报错)

7.删除刚刚的容器

docker rm -f 4198

8.重新运行一个容器,此处运行参数与上面相比多了些参数,且此处没有-d参数是想前台运行,方便查看容器运行时的日志。 -v是将容器内的目录与外部目录进行挂载,以使容器使用我们第5步修改后的配置运行

docker run  \
--name nacos \
-p 8848:8848 -p 9848:9848 -p 9849:9849 \
-e MODE=standalone \
-v /opt/nacos/logs/:/opt/nacos/logs \
-v /opt/nacos/conf/:/opt/nacos/conf/ \
--restart=always \
nacos/nacos-server:v2.1.2

有时候启动nacos显示报错

在这里插入图片描述
原因端口号被占用执行停止命令

docker stop nacos
docker rm nacos

再启动就好了

每次执行一坨命令不方便

可以创建.sh文件执行命令

#创建文件
touch start-nacos.sh

#编辑文件,将启动命令加进去
vim start-nacos.sh

#启动脚本
./start-nacos.sh

在这里插入图片描述
启动成功后访问地址,就能进入nacos

http://127.0.0.1:8848/nacos/#/login

在这里插入图片描述

查看了网上的其他方法, 总结有以下可能:

  1. 数据库没有正常设置,如 数据库地址,数据库名称,账号,密码 哪个出错都会提示
  2. 连接用户没有开放远程访问权限
  3. 在连接最后加上时区:&serverTimezone=UTC

2.1使用navicat的命令行功能
在这里插入图片描述
2.2依次执行以下命令:

use mysql;
select host,user from user;

在这里插入图片描述
我的连接用户是root,显示百分号代表是开放了远程连接的。

方法都尝试过仍然没有成功。最后偶然发现上面填写的ip是127.0.0.1,会不会是ip的原因。立马进行验证,首先先删除之前创建的容器,再使用第2步的命令创建新的容器,接着使用如下命令进入容器,containerId需要替换成你自己的容器id

docker exec -it containerId bash

在容器内ping 127.0.0.1竟然是通的。就在快要放弃的时候,我想到ip是通的,那端口呢,如果端口也是通的才能说明容器内是能访问mysql的
在这里插入图片描述
使用telnet命令发现没有telnet环境。好在nacos镜像有yum环境,直接使用安装telnet.

yum -y install telnet

在这里插入图片描述
在这里插入图片描述
安装完成后终于看到了想要的结果说明上面的猜测是正确的。下面修改第5步的 application.properties文件,将ip换成服务器的内网ip。看到如下就代表启动成功了。
在这里插入图片描述

相关推荐

  1. Docker 安装 Nacos

    2024-04-10 18:44:03       56 阅读
  2. docker 安装nacos

    2024-04-10 18:44:03       57 阅读
  3. docker安装nacos

    2024-04-10 18:44:03       55 阅读
  4. docker 安装 nacos

    2024-04-10 18:44:03       39 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-10 18:44:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-10 18:44:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-10 18:44:03       82 阅读
  4. Python语言-面向对象

    2024-04-10 18:44:03       91 阅读

热门阅读

  1. [leetcode]longest-consecutive-sequence 最长连续序列

    2024-04-10 18:44:03       34 阅读
  2. 免费泛域名SSL证书申请

    2024-04-10 18:44:03       32 阅读
  3. React 中与生命周期相关的 Hooks 及其使用示例

    2024-04-10 18:44:03       32 阅读
  4. React 组件生命周期函数的用法和示例代码

    2024-04-10 18:44:03       34 阅读
  5. jquery 正则自整理

    2024-04-10 18:44:03       32 阅读
  6. 为什么const声明的变量是可以修改的?

    2024-04-10 18:44:03       30 阅读
  7. 如何使用Python中的logging模块进行日志记录?

    2024-04-10 18:44:03       34 阅读
  8. AcWing 792. 高精度减法——算法基础课题解

    2024-04-10 18:44:03       33 阅读
  9. gocron定时任务管理

    2024-04-10 18:44:03       38 阅读
  10. 1.Go的基本语法 - 函数、数组、接口

    2024-04-10 18:44:03       42 阅读
  11. 2024.4.2力扣每日一题——所有可能的真二叉树

    2024-04-10 18:44:03       34 阅读
  12. libcurl上手笔记-HTTP方法 GET、POST、PUT、DELETE

    2024-04-10 18:44:03       42 阅读
  13. 渗透测试步骤

    2024-04-10 18:44:03       37 阅读
  14. 基于R语言的选举数据的模型建立与预测分析

    2024-04-10 18:44:03       35 阅读
  15. How to find which Azure Private DNS Zone is associated with VNet

    2024-04-10 18:44:03       35 阅读
  16. 为什么pdf拆分出几页之后大小几乎没有变化

    2024-04-10 18:44:03       41 阅读