Docker启动安装nacos(详情讲解,全网最细)
Posted Color L
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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/logs/
docker cp nacos:/home/nacos/conf/ /mydata/nacos/conf/
关闭容器
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
8、最后
- 有什么问题留言,我会回复的
全网最全最细青龙面板搭配Ninja+依赖+Ninja配置的超细讲解教程!!!
Title
前言
通过Ninja登录京东账号实现京东代挂赚取京东京豆
1.连接finalshell或者xshell
大家可以加群644288320,进行技术交流。
2.停止容器(把以下代码复制粘贴进去)
docker stop $(docker ps -a -q)
3.删除容器(把以下代码复制粘贴进去)
docker rm $(docker ps -a -q)
4.安装安装docker-compose(把以下代码复制粘贴进去)
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
5.创建docker-compose.yml文件
你们的都没有.yml这个文件,需要自己创建,在QL文件夹内点击右键创建文件,把文件名和后缀复制粘贴上,然后打开文件,复制粘贴下面代码并保存:
version: "3"
services:
qinglong:
image: whyour/qinglong:latest
container_name: qinglong
restart: unless-stopped
tty: true
ports:
- 5700:5700
- 5701:5701
environment:
- ENABLE_HANGUP=true
- ENABLE_WEB_PANEL=true
volumes:
- ./config:/ql/config
- ./log:/ql/log
- ./db:/ql/db
- ./repo:/ql/repo
- ./raw:/ql/raw
- ./scripts:/ql/scripts
- ./jbot:/ql/jbot
- ./ninja:/ql/ninja
labels:
- com.centurylinklabs.watchtower.enable=false
6.如果使用的xshell的请看这一步(使用finalshell的请跳过这一步)
由于xshell没有finalshell创建文件那么方便,所有要进行以下操作:
1.没有给终端命令授权的需要授权(适用于虚拟机,可跳过) 输入:
su
2. 看下面注释和复制下面命令
count docker-compose.yml //添加文件的代码
vi docker-compose.yml //给文件添加内容
3.把下面命令复制进去
version: "3"
services:
qinglong:
image: whyour/qinglong:latest
container_name: qinglong
restart: unless-stopped
tty: true
ports:
- 5700:5700
- 5701:5701
environment:
- ENABLE_HANGUP=true
- ENABLE_WEB_PANEL=true
volumes:
- ./config:/ql/config
- ./log:/ql/log
- ./db:/ql/db
- ./repo:/ql/repo
- ./raw:/ql/raw
- ./scripts:/ql/scripts
- ./jbot:/ql/jbot
- ./ninja:/ql/ninja
labels:
- com.centurylinklabs.watchtower.enable=false
4.输入英文状态下的冒号(:)
然后输入: wq //保存退出的命令
wq! //强制保存退出的命令
7.进入QL文件夹
输入 cd /root/QL //进入QL文件夹
然后输入 docker-compose up -d
8.进入容器
docker exec -it qinglong bash //进入容器
然后复制粘贴以下命令,执行以下命令:
git clone https://ghproxy.com/https://github.com/shufflewzc/ninja.git /ql/ninja
cd /ql/ninja/backend
pnpm install
pm2 start
9.配置青龙面板里的配置文件
打开青龙面板
然后在配置文件的extra.sh里复制以下代码并保存(如图):
cd /ql/ninja/backend
pm2 start
10.配置依赖
注意:把finalshell关了,重新连接一下,把下面全部命令复制粘贴进去即可
输入:
docker exec -it QL bash -c "apk add --no-cache build-base g++ cairo-dev pango-dev giflib-dev && cd scripts && npm install canvas --build-from-source"
// 适用于JDHelloWorld的宠汪汪二代目和宠汪汪兑奖品二代目
docker exec -it qinglong bash -c "cd scripts && npm i -S png-js"
以下是全部依赖(复制粘贴进入即可)
docker exec -it QL bash -c "npm install -g typescript"
docker exec -it QL bash -c "npm install axios date-fns"
docker exec -it QL bash -c "npm install crypto -g"
docker exec -it QL bash -c "npm install png-js"
docker exec -it QL bash -c "npm install -g npm"
docker exec -it QL bash -c "pnpm i png-js"
docker exec -it QL bash -c "pip3 install requests"
docker exec -it QL bash -c "apk add --no-cache build-base g++ cairo-dev pango-dev giflib-dev && cd scripts && npm install canvas --build-from-source"
docker exec -it QL bash -c "apk add python3 zlib-dev gcc jpeg-dev python3-dev musl-dev freetype-dev"
docker exec -it QL bash -c "cd /ql/scripts/ && apk add --no-cache build-base g++ cairo-dev pango-dev giflib-dev && npm i && npm i -S ts-node typescript @types/node date-fns axios png-js canvas --build-from-source"
最后复制粘贴以下代码进去:
yum install wget unzip -y
cd QL/scripts
wget https://ghproxy.com/https://github.com/shufflewzc/faker2/releases/download/0.0.1/utils.zip && unzip utils.zip
11.Ninja相关配置(此步可跳过不看)
ALLOW_ADD: 是否允许添加账号 不允许添加时则只允许已有账号登录(默认 true)
ALLOW_ADD: 是否允许添加账号 不允许添加时则只允许已有账号登录(默认 true)
NINJA_PORT: Ninja 运行端口(默认 5701)
NINJA_NOTIFY: 是否开启通知功能(默认 true)
NINJA_UA: 自定义 UA,默认为随机
重新连接以下finalshell复制粘贴以下代码:
docker exec -it qinglong bash
cd /ql/ninja/backend
cp .env.example .env
然后找到以下文件(如图)
进行修改保存后,然后在finalshell输入:
pm2 start
12.全部教程结束。
注意:本文借鉴了以下三个教程网站的相关技术,并对以下教程进行了详细讲解的改动。
https://thin-hill-428.notion.site/2-8-Ninja-40ff4ae1c9374472a9ae20d750975caf
https://thin-hill-428.notion.site/2-8-Ninja-7e693618f706453ab01d869fbd2adb69
https://www.notion.so/QL-pannel-Dependent-Librai-164400378c7f4a4587f976e89aea1584
以上是关于Docker启动安装nacos(详情讲解,全网最细)的主要内容,如果未能解决你的问题,请参考以下文章
全网最细Docker安装Minio,填满最新版大坑(强烈推荐收藏)
全网最全最细青龙面板搭配Ninja+依赖+Ninja配置的超细讲解教程!!!
手把手教你学区块链Fabric介绍及其环境搭建 | ⚠多图警告⚠ 全网最细⚠
全网最细Linux之Centos8安装MySQL8.0以上版本,您值得收藏!