docker 安装并配置nacos2.2.2 单机

发布时间 2023-06-11 10:01:59作者: CodeLuckly

docker 拉取文件

找镜像参考mysql安装找镜像步骤: https://www.cnblogs.com/CodeLuckly/p/15710643.html

拉取命令:
docker pull nacos/nacos-server:v2.2.2

挂载目录:

就是为了让nacos的容器中文件映射到宿主机上

mkdir -p /mydata/nacos/logs/                      #新建logs目录
mkdir -p /mydata/nacos/conf/						#新建conf目录
mkdir -p /mydata/nacos/data/	                  #新建data目录

启动nacos复制文件到宿主机顺便看一下机器内存是否够用

# 启动
docker run -p 8848:8848 --name nacos -d nacos/nacos-server:v2.2.2

# 复制文件
docker cp nacos:/home/nacos/logs/ /mydata/nacos/logs/
docker cp nacos:/home/nacos/conf/ /mydata/nacos/conf/
docker cp nacos:/home/nacos/data/ /mydata/nacos/data/

#删除刚才为了拷贝文件启动的nacos
docker rm -f nacos

创建数据库:

数据库脚本地址: https://github.com/alibaba/nacos/blob/2.2.2/config/src/main/resources/META-INF/nacos-db.sql

单机运行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 -v /mydata/nacos/data/:/home/nacos/data \  -e SPRING_DATASOURCE_PLATFORM=mysql \ -e MYSQL_SERVICE_HOST=localhost\ -e MYSQL_SERVICE_PORT=3306 \ -e MYSQL_SERVICE_DB_NAME=nacos2.2.2 \ -e MYSQL_SERVICE_USER=root \ -e MYSQL_SERVICE_PASSWORD=root \ nacos-server:v2.2.2

查看启动日志

docker logs -f nacos

到此完成

页面访问地址

IP:8848/nacos/index.html

启动脚本展开:
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
-v /mydata/nacos/data/:/home/nacos/data \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=数据库地址\
-e MYSQL_SERVICE_PORT=数据库端口一般3306 \
-e MYSQL_SERVICE_DB_NAME=数据库名 \
-e MYSQL_SERVICE_USER=数据库账号 \
-e MYSQL_SERVICE_PASSWORD=数据库密码 \
nacos-server:v2.2.2

命令详解:

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时,自动启动相关容器