Docker启动安装nacos的实现示例

 更新时间:2023年09月14日 15:22:33   作者:Color L  
本文主要介绍了Docker启动安装nacos的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

前言

  • 安装之前你需要准备一个mysql,当前安装方式是将数据持久化到数据库中的,这里的部署是单机模式

1、Docker 拉取镜像

docker pull nacos/nacos-server
  • PS:这是拉取最新的nacos版本,如果需要拉取别的版本可以加:版本号(如:docker pull nacos/nacos-server:v2.2.0)

2、挂载目录

mkdir -p /mydata/nacos/logs/                      #新建logs目录
mkdir -p /mydata/nacos/conf/						#新建conf目录
  • PS:这一步是添加映射文件夹,将宿主机的文件映射到nacos容器中

3、启动nacos并复制文件到宿主机,关闭容器

启动容器

docker run -p 8848:8848 --name nacos -d nacos/nacos-server

复制文件

docker cp nacos:/home/nacos/logs/ /mydata/nacos/
docker cp nacos:/home/nacos/conf/ /mydata/nacos/

关闭容器

docker rm -f nacos
  • PS:这一步启动nacos是为了将nacos里面的文件拷贝出到挂载目录中,这样我们就可以直接修改挂载目录中文件来映射到容器里面去了

4、mysql中创建nacos所需的表

  • mysql中新建一个库,名字可自定义,这里就用nacos-config
  • 从github中找到创建表的文件,在nacos-config库中执行,创建所需的表

5、再次启动nacos

docker run -d
--name nacos															 
-p 8848:8848  -p 9848:9848 -p 9849:9849
--privileged=true
-e JVM_XMS=256m
-e JVM_XMX=256m
-e MODE=standalone
-v /mydata/nacos/logs/:/home/nacos/logs
-v /mydata/nacos/conf/:/home/nacos/conf/
--restart=always
nacos/nacos-server
  • PS : 复制上面的语句执行失败,可以将上面的执行语句变成一行,如下,可直接复制执行
docker run -d --name nacos -p 8848:8848  -p 9848:9848 -p 9849:9849 --privileged=true -e JVM_XMS=256m -e JVM_XMX=256m -e MODE=standalone -v /mydata/nacos/logs/:/home/nacos/logs -v /mydata/nacos/conf/:/home/nacos/conf/ --restart=always nacos/nacos-server

语句讲解

  • docker run -d : 启动容器 -d是后台启动并返回容器id的意思
  • –name nacos :为容器指定一个名称
  • -p 8848:8848 -p 9848:9848 -p 9849:9849 : 指定端口映射,注意这里的p不能大写,大写是随机端口映射
  • –privileged=true : 扩大容器内的权限,将容器内的权限变为root权限,不加的话就是普通用户权限,可能会出现cannot open directory
  • -e JVM_XMS=256m : 为jvm启动时分配的内存
  • -e JVM_XMX=256m : 为jvm运行过程中分配的最大内存
  • -e MODE=standalone : 使用 standalone模式(单机模式),MODE值有cluster(集群)模式/standalone模式两种,MODE必须大写
  • -v /mydata/nacos/logs/:/home/nacos/logs : 将容器的/home/nacos/logs目录挂载到 /mydata/nacos/logs
  • -v /mydata/nacos/conf/:/home/nacos/conf/: 将容器的/home/nacos/conf目录挂载到 /mydata/nacos/conf
  • –restart=always :重启docker时,自动启动相关容器

注意事项

  • 需要在防火墙开放相关端口,如果你是云服务器,开放安全组,下面提供相关语句
## 开放端口8848 9848 9849
firewall-cmd --zone=public --add-port=8848/tcp --permanent
firewall-cmd --zone=public --add-port=9848/tcp --permanent
firewall-cmd --zone=public --add-port=9849/tcp --permanent
## 重启防火墙
firewall-cmd --reload
## 查看所有开启的端口
firewall-cmd --zone=public --list-ports
  • PS:这里有点小问题,重启完防火墙之后,需要重启docker
## 重启docker
systemctl restart docker
  • 这里最容易犯错的就是挂载目录对应不上,可以看下自己语句中的-v 后面的目录是否映射正确,博主第一次安装的时候logs里面还有一个logs文件夹,conf里面还有个conf文件夹,导致出错

6、修改配置文件

  • 主要修改的是application.properties文件
## 在宿主机中修改application.properties文件
vim /mydata/nacos/conf/application.properties
  • 文件修改的地方(修改为你对应的mysql)
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://localhost:3306/nacos-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=30000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=root
  • PS :因为我们在第三步已经复制了logs和conf到了我们的宿主机里面,那么我们可以直接修改application.properties文件映射到容器里,可以通过下面的语句来查看
## 进入到nacos容器里
docker exec -it nacos /bin/bash
## 查看application.properties文件
cat /home/nacos/conf/application.properties
## 退出容器
exit
  • PS:如果文件没有修改成功的话,说明挂载目录映射的不对,仔细查看一下,可以通过下面的方法来查看是否正确
docker inspect --format="{{json .Mounts}}" nacos

7、访问页面

http://ip:8848/nacos/index.html

 到此这篇关于Docker启动安装nacos的实现示例的文章就介绍到这了,更多相关Docker启动安装nacos内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Docker的四种网络模式

    Docker的四种网络模式

    这篇文章介绍了Docker的四种网络模式,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • Docker配置本地镜像与容器的存储位置

    Docker配置本地镜像与容器的存储位置

    最近在学习docker,本文主要介绍了Docker配置本地镜像与容器的存储位置,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • docker如何导出指定时间段内日志

    docker如何导出指定时间段内日志

    这篇文章主要介绍了docker如何导出指定时间段内日志问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • 使用Docker构建开发环境的方法步骤( Windows和mac)

    使用Docker构建开发环境的方法步骤( Windows和mac)

    利用Docker,我们可以做很多事情。所以本文就详细介绍了使用Docker构建开发环境的方法步骤,分为 Windows和mac版本,具有一定的参考价值,感兴趣的可以了解一下
    2021-12-12
  • docker 拉取镜像出错的问题解决

    docker 拉取镜像出错的问题解决

    当Docker拉取镜像遇到网络错误时,通常是因为镜像源无法访问,解决此问题可通过修改Docker的配置文件/etc/docker/daemon.json,设置一个可用的镜像加速地址,修改后重新加载配置并重启Docker服务即可,这样可以提高拉取速度和成功率,避免因网络问题导致的镜像拉取失败
    2024-10-10
  • docker 安装部署 Prometheus 与grafana的详细过程

    docker 安装部署 Prometheus 与grafana的详细过程

    本文给大家详细介绍了如何在CentOS 7上使用Docker和Docker Compose安装和配置Prometheus和Grafana,并展示了如何进行基本的监控配置和数据可视化,感兴趣的朋友跟随小编一起看看吧
    2024-12-12
  • Docker使用java项目工程的部署

    Docker使用java项目工程的部署

    随着容器化技术的广泛应用,Docker成为了一种非常流行的容器化解决方案,本文主要介绍了Docker使用java项目工程的部署,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • chatgpt-web之docker打包流程

    chatgpt-web之docker打包流程

    这篇文章主要介绍了chatgpt-web中docker的打包流程,文中有详细的代码示例,对学习或工作有一定的帮助,需要的朋友可以参考下
    2023-05-05
  • 使用docker部署grafana+prometheus配置

    使用docker部署grafana+prometheus配置

    这篇文章主要介绍了docker部署grafana+prometheus配置,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12
  • docker容器启动设置固定IP的实现

    docker容器启动设置固定IP的实现

    本文主要介绍了docker容器启动设置固定IP的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12

最新评论