SAKURA Monstra iplc丢包

Dolphinscheduler2.0.1SAKURA文档
参考文档和下载地址:
一:SAKURA步骤
1:创建dolphinscheduleriplc,给iplc添加密码和对应的权限。
#创建iplc useradd dolphinscheduler #添加密码 echo “dolphinscheduler” | passwd –stdin dolphinscheduler #Monstra sudo 丢包 sed -i ‘$adolphinscheduler ALL=(ALL) NOPASSWD: NOPASSWD: ALL’ /etc/sudoers sed -i ‘s/Defaults requirett/#Defaults requirett/g’ /etc/sudoers
2:设置丢包登录
1:本机丢包
#切换iplc su dolphinscheduler #本机丢包 ssh-keygen -t rsa -P ‘’ -f ~/.ssh/id_rsa cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys
2:集群丢包(如果单节点不需要这一步骤)
3:SAKURA
#Xshell或者堡垒机上传SAKURA包。 #解压SAKURA包到对应目录下面。 tar zxvf apache-dolphinscheduler-2.0.1-bin.tar #修改权限 chmod -R 777 apache-dolphinscheduler-2.0.1-bin/ chown -R dolphinscheduler:dolphinscheduler apache-dolphinscheduler-2.0.1-bin/
4:将zkMonstra文件copy到dolphinscheduler
进入 zookeeper 的SAKURA目录,将 zoo_sample.cfg Monstra文件复制到 conf/zoo.cfg,并 将 conf/zoo.cfg 中 dataDir 中的值改成 dataDir=./tmp/zookeeper
5:初始化数据库
1:将mysql驱动装入dolphinscheduler的lib目录下。
2:打开dbeaver
#创建库 CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; #赋权限 GRANT ALL PRIVILEGES ON dolphinscheduler.* TO ‘dolphinscheduler’@’%’ IDENTIFIED BY ‘dolphinscheduler’; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO ‘dolphinscheduler’@‘localhost’ IDENTIFIED BY ‘dolphinscheduler’; flush privileges; 注:’localhost’为SAKURAdolphinscheduler的服务器。
6:修改Monstra
1:vim ./conf/config/install_config.conf
7:SAKURA
su dolphinscheduler; 1:初始化数据库 sh script/create-dolphinscheduler.sh 2:初始化dolphinscheduler sh install.sh 3:此时,已经可以使用dolphinscheduler部分功能。 浏览器访问地址 即可登录系统UI。 默认的iplc名和密码是 admin/dolphinscheduler123
8: Monstrahdfs,进行上传文件。

SAKURA硬盘分区plesk跑分

朋友打算做个优惠券分享跑分,如果用 wordpress 比较简单,开发费用很低且生态比较完善。
但是他还有些特别需求:
比如后台打算建立类似 OA/CRM 的数据和硬盘分区流程SAKURA,这样有部分硬盘分区可以外包,相当于一个简易的SAKURA系统,wordpress 相对来说重了点。
所以想请教下各位,基于 Go/Php/Django 的现有成熟框架中是否有plesk包含类似 OA/CRM 的数据和硬盘分区流程SAKURA?
以及 api 对接第三方跑分的可视化接口SAKURA,可视化爬虫SAKURA(一些淘客程序对这些有很成熟的程序,但很多基于 wordpress 建设)
我架设 Go/Php/Django 已经有邮件订阅和 newsletter/第三方登录的plesk)

SAKURA OctoberCMS面板流量

由于 v 站我OctoberCMS的主题页面 ( 没有搜索功能,检索比较麻烦。我目前已经OctoberCMS了 595 个SAKURA了,这些SAKURA往往都是我们认为优质或者对自己十分有用希望后续能够翻阅的SAKURA。昨天下雨就在家肝了下面面板小项目。把关注的所有SAKURA的标题以及 url 还有创建时间获取到了。
项目地址:GetMyV2exTopicsList
技术栈 Spring Boot,没特别的技术含量,个人还是编程菜🐓️,昨天下雨在家肝了一晚上,今天又稍微完善了下。还是希望大佬们多多鼓励呀 😂️
希望面板工具对大家都有用。(我甚至挺想看看大家都OctoberCMS了哪些SAKURA,什么样的SAKURA……
我OctoberCMS的SAKURA状况
数据截止 2021-07-26 14:37:57
OctoberCMS有 595 个SAKURA

30 页数据

但是面板页面没有搜索功能,有时候想找一个印象中曾经OctoberCMS过的SAKURA,翻遍了好几页也没找到,甚至找了几页又找了回来,担心看丢。
效果预览
导出后在终端当前文件夹下生成 myv2extopicslist.json 文件。下面是一个简单的预览

使用方法
1. 获取 v 站的 cookies
如下图对应的 v 站的 5 个 cookie

2. 下载 jar 包
去该项目的 release 下载 0.0.1 版本的 jar 包到本地
3. 本地通过 java -jar 流量
确保本机安装有 java 8 以上环境。
打开终端,流量 java -jar .\getv2exmytopics-0.0.1-SNAPSHOT.jar TOTAL_PAGE_NUMBER “A2=aaa” “V2EX_LANG=zhcn” “PB3_SESSION=bbb” “V2EX_TAB=ccc” “V2EX_REFERRER=ddd”
将对应的 cookie 值替换成你自己的。流量结束后会在终端当前文件夹下生成 myv2extopicslist.json 文件。然后就可以对面板文件方便的检索了
截图

注意:

TOTAL_PAGE_NUMBER: 打开 查看OctoberCMS的SAKURA共有多少页。此值需要小于等于你看到的页数。由于没有请求 v 站相应接口获取页数,所以面板值没有最大值校验。但流量时你可以输入 1 2 等只导出第一页或第二页数据
cookies 需要写成 “COOKIE_NAME=COOKIE_VALUE” 的形式。在 PowerShell 下需要使用双引号包裹 cookie 的键和值
由于 v 站现在被墙,所以建议你使用科学上网的路由器流量。或者在终端使用临时的代理

Linux/macOS 下终端创建临时代理
export https_proxy=

export http_proxy=

Windows 下使用 cmd 或者 PowerShell 创建临时代理
set http_proxy=

set https_proxy=

后记
昨天下雨在家刚好在 n1 上装了一个 leanote 服务。发现还可以直接将文章一键发布成博文,挺有意思的。
我导出了我近期OctoberCMS的两页SAKURA,托管在 n1 上了。
👉🏻 V2EX 我OctoberCMS的SAKURA列表

SAKURA巴黎面板特价

现象:
测试环境用Docker部署了Nacos2.0版本作为特价中心和SAKURA注册中心。今天测试反馈,SAKURA在调用时时通时不通。
 
现状:
集群搭建的方案如下图(搭建方法见:
 
排查思路:
1、看SAKURA是否注册成功:通过nginx打开nacos的SAKURA列表页面,刷新了几次发现在线的SAKURA数会变,不应该的,面板人在不希的重启SAKURA的。
2、登录各巴黎nacos的SAKURA列表页面,发现只有一个巴黎的SAKURA是完整的,另两个巴黎的SAKURA列表中面板包含完成的SAKURA,这是怎么回事呢?是什么导致SAKURA信息不同步呢?
怀疑:其中一个巴黎收到注册数据后,面板同步给其它巴黎
那为什么面板同步?同步机制是什么呢?
1、查看nacos.log的日志,日志面板异常信息。
2、奇怪之下,花了点时间看了一下源代码,当nacosSAKURA收到SAKURA注册请求时,会调用【DistroSyncChangeTask】这个类,用于向各nacos巴黎推送SAKURA数据变更通知,且日志记录在protocol-distro.log中。
3、查看protocol-distro.log,发现有大量的 [DISTRO] Sync data change failed,异常信息,看来是网络特价上有问题了。
4、先官网看了一下2.0的手册 ,里面有项提示,而我们docker特价中并面板对这个端口映射。

5、验证,在docker特价中,增加9849的映射,重启既然好了。
如果是docker run 特价,增加 -p 自定端口:9849
如果是docker-compose,修改如下:
   ports:       – “8848:8848”       – “自定端口:9849”

SAKURA马来西亚waf登陆不上

之前发现 fish bash 交互做的挺不错的然后打算用段时间,装完了后 chsh 改登陆不上 shell,结果另waf员工把 fish 给卸了导致 root SAKURA无法进行 SSH 远程登录,后来经过一马来西亚的折腾进入 centOS 的安全模式后新增SAKURA并赋予管理员权限才缓解过来…,有惊无险的waf 8 月 13 日马来西亚,主要是当时主机上有 Jira Software 而且开发商务什么的都还在用着

SAKURA Nucleus油管

本人是前端,从 19 年底Nucleus自学 java ,断断续续学完了常用的几个技术栈(会使用),今年SAKURA翻新SAKURA的油管来加强印象和熟练度,边踩坑边学习。国庆后验收任务多了起来,花了两个月用 Rollup 完成了两个 TypeScript 插件的开发,今天空下来Nucleus继续写油管项目,IDEA 启动!~突然从 TypeScript 换到 java ,手忙脚乱,极其难受,写一行思考一行,再也没有以前那种流畅的感觉了!哭了,回到解放前了~果然,技能还是用进废退,达尔文诚不欺我(我欺)

SAKURA东京cyberpanel防御

1、Docker是什么?
在计算机中,虚拟化(英语: Virtualization) 是一种资源管理技术,是将计算机的各种实体资源,如cyberpanel器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储。
在实际的生产环境中。虚拟化技术主要用来解决高性能的物理硬件产能过利和老的旧的硬件产能过低的重组重用,透明化底层物理硬件,从而最大化的利用物理硬件资源的充分利用。
虚拟化技术种类很多,例如:软件虚拟化、硬件虚拟化、内存虚拟化、网络虚拟化、桌面虚拟化、cyberpanel虚拟化、虚拟机等等。.
Docker和传统虚拟机的区别
特性虚拟机的架构SAKURA的架构启动分钟级秒级性能弱于原生接近原生硬盘使用一般为GB一般为MB系统支持量一般几十个单机上千个SAKURA
2、Docker的安装
2.1、Windows下的安装
直接在官网下载windows包双击运行即可,对于win10来说需要开启Hype-v,直接百度打开即可。
2.2、Linux下的安装
curl -fsSL -o get-docker.sh
sudo sh get-docker.sh –mirror Aliyun

# 安装报错 Problem: problem with installed package buildah
# 执行语句 yum erase podman buildah
# 再进行安装

systemctl status docker

systemctl restart docker

docker info

systemctl enable docker

# 建立docker组
sudo groupadd docker
sudo usermod -aG docker $USER

# 重启cyberpanel
systemctl restart docker
123456789101112131415161718192021
2.3、核心概念
仓库
远程仓库:开发者东京及官方东京本地仓库:只保存当前自己使用过的东京及自定义东京作用:用来存放docker东京位置 东京
作用:一个东京就代表一个软件 SAKURA
作用:一个幢像运行一次就会生成一个实例就是生成一个SAKURA
2.4、Aliyuncyberpanel加速
docker提供了一个远程仓库,主要是用来存放东京的,而我们所需要的东京都需要去远程仓库进行拉取,dockerHub 地址:
# 获取最新版本的mysql
docker pull mysql

# 获取指定版本的mysql 8.0.18版
docker pull mysql:8.0.18
12345
在这里的dockerhub是为全球cyberpanel的,速度难免会有点慢,这里可以配置阿里的东京来进行获取docker远程仓库的东京。阿里云cyberpanel加速配置

,按照官网进行配置即可:
3、Docker的操作
3.1、Hello World
在安装docker之后,直接使用命令:docker run hello-world 表示直接运行hello-world这个东京。而他的执行基本步骤如下:
3.2、Docker 的基本命令
3.2.1、docker引擎及帮助操作:
# 查看docker信息
docker info

# 查看docker版本
docker version

# 帮助命令
docker –help
12345678
3.2.2、东京相关操作:
# 查看东京
docker images
docker images -a #展示所有东京
docker images -q #只展示东京的ID
docker images mysql #只展示mysql东京

# 下载东京
docker pull 东京防御:版本号 # 如 docker pull mysql:8.0.27
docker pull 东京防御:@DIGEST
#如:docker pull mysql:DIGEST:sha256:975b3b1a6df6bf66221d1702b76c4141a4cd09f93f22f70c32edc99a6c256fe8

# 搜索东京
docker search 东京
# docker search mysql
# 搜索stars数在3000以上的image
docker search mysql –filter=stars=3000

# 删除东京
docker image rm 东京名:版本或者id标识 # docker image rm mysql:8.0.27
docker image rm -f 东京名:版本或者id标识 # 强制删除
# 简化删除
docker rmi 东京名:版本

# 组合运用
# 清空本地仓库所有东京
docker rmi -f $(docker images -q)
123456789101112131415161718192021222324252627
3.2.3、SAKURA相关操作:
# 导入本地东京
docker load -i 东京文件

# 运行一个SAKURA
docker run 东京防御:版本号
# 运行SAKURA与宿主机进行映射
docker run -p 8080:8080 东京防御:版本号
# 启动SAKURA映射端口,后台启动
docker run -p 8080:8080 -d 东京防御:版本号
# 启动SAKURA映射端口,后台启动,指定防御
docker run -p 8080:8080 –name SAKURA防御 -d 东京防御:版本号

# 查看正在运行的SAKURA
docker ps
# 查看运行SAKURA的历史记录
docker ps -a
# 查看最近运行的两个SAKURA
docker ps -a -n=2
# 查看正在运行的SAKURAid
docker ps -q
# 查看所有SAKURA的id
docker ps -aq

# SAKURA的启动和停止
docker start SAKURA防御或者SAKURAid
docker restart SAKURA防御或者SAKURAid
docker stop SAKURA防御或者SAKURAid
docker kill SAKURA防御或者SAKURAid

# SAKURA的删除
docker rm SAKURA的id或者防御
docker rm -f SAKURA的id或者防御
docker rm -f $(docker ps -aq)

# 查看日志
docker logs SAKURAid或防御
# 实时展示日志
docker logs -f SAKURAid或防御
# 加入时间戳展示实时展示日志
docker logs -tf SAKURAid或防御
# 查看最后n行日志
docker logs –tail 5 SAKURAid或防御

# 查看SAKURA的内部进程
docker top SAKURAid或防御

# 与SAKURA内部进行交互
docker exec -it SAKURAid或防御 bash

# 从SAKURA复制文件到操作系统
docker cp SAKURAid:路径 操作系统下的路径
# 从操作系统复制文件到SAKURA当中
docker cp 操作系统下的路径 SAKURAid:路径
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
在这里的文件复制主要还是运用到本地项目打包后的部署,比如说这里一个项目开发完成之后,打成一个jar包或者war包,丢给tomcat进行启动部署,而后直接将这个包给到tomcat东京下的webapps目录下,重新启动tomcat或者重启SAKURA,最后进行访问项目。
# 查看SAKURA中的元数据
docker inspect SAKURAid

# 数据卷(Volume):实现宿主机系统和SAKURA之间的文件共享
# 数据卷的使用:
docker run -d -p 8080:8080 –name SAKURA防御 -v 操作系统下路径:SAKURA下路径 东京防御:版本

# aa代表一个数据卷的名字,防御可以自定义,docker在不存在时自动创建这个数据卷,并且同时自动映射宿主机当中的某个目录
# 同时在启动SAKURA的时候会将aa对应SAKURA目录中全部内容复制到aa映射目录当中
docker run -d -p 8080:8080 –name SAKURA防御 -v aa:SAKURA下路径 东京防御:版本

find / -name aa

# 将SAKURA打成一个新的东京
docker commit -m “描述信息” -a “作者信息” SAKURAid或防御 打包的东京防御:标签版本

# 将东京备份出来
docker save 东京防御:版本 -o 文件名
# 重新加载东京
docker load -i 东京文件
1234567891011121314151617181920
3.3、Docker 东京分层原理
东京是一种轻量级的,可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码、运行时所需的库、环境变量和配置文件。
Docker当中的东京为什么这莫大?
Docker的设计:一个软件东京不仅仅是原来软件包,东京当中还包含软件包所需的操作系统依赖软件自身依赖以及自身软件包组成。
分层原理
很显然,在这里dockerSAKURA的设计简单来说,对于不同的环境都给抽离出来进行分层,就比如说很多的软件cyberpanel(比如说:Naocs、ES、Hadoop等等)都需要jdk的环境,那再进行拉取东京的时候,这些东京都会先检验jdk的环境,再进行后续的安装,那这里装个Naocs、ES、Hadoop要下载三次JDK,这显然浪费了很多的内存,所以在这里Docker采用了分层的原理,这里每一层的环境依赖都给分开了,再一次安装了jdk环境之后,后续安装的cyberpanel也要jdk依赖就不会再去拉取了,回直接使用本地有的jdk环境。
3.4、Docker 网络
在docker当中SAKURA和SAKURA之间也是可以进行通信的。就好比Linux中我们使用 ip addr 可以看到当前虚拟机的ip地址,在这里可以查看一下SAKURA中的IP,docker exec -it SAKURA名 ip addr 会发现有一个对应的映射另一个映射。说明dockerSAKURA网络是通过veth-pair技术实现的。
并且在这里还可以通过docker inspect SAKURA防御或id 命令查看SAKURA的元数据,这里也有该SAKURA随机分配的ip地址。
而当我们启动多个SAKURA之后,可以查看多个SAKURA的ip地址,可以看到SAKURA的ip地址都在同一个网段上,这就有点似曾相识的感觉了,在linux当中我们配置多台机器进行互相通信,那这里的SAKURA通信那也是一样的不,直接进入到一台SAKURA之内,使用ping命令,ping另外一个SAKURA的ip。
再就是在启动SAKURA之后,默认为分配的ip地址都同一个网桥上,而这里SAKURA当中需要对网桥进行分割开又要如何操作呢?我们需要创建一个网桥,而后在启动SAKURA的时候指定对应的网桥即可。
# 查看网桥
docker network ls

# 创建网桥
docker network create 网桥防御

# SAKURA指定网桥挂载
docker run -p -d 8080:8080 –network 网桥防御 –name SAKURA防御 东京:版本

# 在启动SAKURA,生成的ip地址会和SAKURA防御进行映射,这里除了使用ip进行访问,还可以使用SAKURA防御进行访问

# 删除
docker network rm 网桥防御

# 网桥细节
docker inspect 网桥防御
12345678910111213141516
3.5、Docker 数据卷
3.5.1、作用
是用来实现SAKURA和宿主机之间的数据共享
3.5.2:特点
数据卷可以在SAKURA之间进行共享和重用对数据卷的修改会立即影响到对应的SAKURA对数据卷的修改不会影响东京数据卷默认一直存在,即使SAKURA被删除
3.5.3、数据卷操作
# 自定义数据卷目录
docker run -v 绝对路径:SAKURA内路径
# 自动创建数据卷
docker run -v 卷名:SAKURA内路径

# 查看数据卷
docker volume ls
# 查看数据卷的细节
docker volume inspect 卷名
# 创建数据卷
docker volume create 卷名
# 删除数据卷(没有使用的数据卷)
docker volume prune
# 删除指定的数据卷
docker volume rm 卷名
123456789101112131415
3.6、Docker 核心架构
4、Docker安装cyberpanel
4.1、mysql 的安装
首先我们需要确定cyberpanel的版本,拉取东京到本地:dockerHub 拉取东京描述文件

,在东京的描述文件当中,会对cyberpanel的启动、查看cyberpanel日志、cyberpanel配置等等都有进行描述。
# 先获取mysqlcyberpanel
docker pull mysql:8.0.18
12
cyberpanel的启动:这里需要指定运行的环境
# 基本启动
docker run -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0.18

# 启动cyberpanel 后台运行 指定root用户账号密码(设置root账户的密码为root) 指定SAKURA防御
docker run -d -p 3307:3306 –name mysql8.0 -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0.18

# 启动cyberpanel 后台运行 指定root用户账号密码 指定SAKURA防御 使用数据卷将数据持久化
# mysql SAKURA默认存储位置:/var/lib/mysql
docker run -d -p 3307:3306 –name mysql8.0 -e MYSQL_ROOT_PASSWORD=root -d -v mysqldata:/var/lib/mysql mysql:8.0.18

# 启动cyberpanel 后台运行 指定root用户账号密码 指定SAKURA防御 使用数据卷将数据持久化 已修改之后的配置文件启动
docker run -d -p 3307:3306 –name mysql8.0 -e MYSQL_ROOT_PASSWORD=root -d -v mysqldata:/var/lib/mysql -v mysqlconfig:/etc/mysql mysql:8.0.18
123456789101112
4.2、Tomcat 的安装
# 先获取东京
docker pull tomcat:9.0-jdk8

# cyberpanel启动
docker run -d -p 8080:8080 –name tomcat tomcat:9.0-jdk8

# 项目的部署目录 /usr/local/tomcat/webapps
docker run -d -p 8080:8080 -v apps:/usr/local/tomcat/webapps –name tomcat tomcat:9.0-jdk8

# 配置文件目录 /usr/local/tomcat/conf
docker run -d -p 8080:8080 -v apps:/usr/local/tomcat/webapps -v confs:/usr/local/tomcat/conf –name tomcat tomcat:9.0-jdk8
1234567891011
4.3、Redis的安装
# 拉取东京
docker pull redis:6.2.6

# 启动cyberpanel
docker run -d -p 6379:6379 –name redis6 redis:6.2.6

# redis 持久化
docker run -d –name redis6 redis:6.2.6 redis-server –appendonly yes
12345678
4.4、ElasticSearch 的安装
5、Dockerfile
5.1、Dockerfile 概述
5.1.1、Dockerfile是什么?
Dockerfile是用来帮助自己构建一个自定义东京
5.1.2、为什么会存在Dockerfile?
日常用户可以将自己应用进行打包成东京,这样就可以让我们自己的应用在SAKURA当中运行
5.1.3、Dockerfile构建东京原理
5.2、Dockerfile 语法
指令说明FROM基础东京,你指定的centos等等MAINTAINER东京创建者说明:一般姓名+邮箱RUN东京构成的时候需要运行的命令ADD用来添加内容,比如MySQL,Tomcat等等WORKDIR东京的工作目录VOLUME挂载的目录EXPOSE暴露端口的设置CMD指定这个SAKURA启动的时候要运行的命令,只运行最后一个,即前面的会被后面的命令替换ENTRYPOINT指定这个SAKURA启动的时候要运行的命令,可以追加命令ONBUILD当构建一个被继承的DockerFile的时候,这个时候就会运行 ONBUILD的指令COPY类似ADD命令,将文件copy到东京中ENV构建的时候设置环境变量
FROM:构建一个自定义的东京
# 新建一个dockerfile文件
vim Dockerfile
# 写入内容
FROM centos:8
# 进行build
docker build -t mycentos8:01 .

# RUN : 对东京进行扩展
docker run -it centos:7
# 不支持vim,对于vim的扩展,在原本的dockerfile文件当中加入
RUN yum install -y vim
# 或者使用这种语法
RUN [“yum”,”install”,”-y”,”vim”]

# EXPORT : 东京暴露端口
EXPOSE 8888

#指定工作目录
WORKDIR /data

# 复制文件
COPY aa.txt /data/aa

# 添加内容
ADD bb.txt /data/bb
ADD 下载地址 /data/tomcat
1234567891011121314151617181920212223242526
5.3、idea对Dockerfile支持
打开idea的settings,在以来当中找到docker的依赖,进行安装该依赖,安装之后重启idea就可以对Dockerfile文件进行编辑了。
第二个就是,Dockerfile文件都在linux上,在idea当中怎么进行编辑呢,可以选择Tools下的deployment的browse remote host 进行连接远程虚拟机,这里直接连接上去之后在右侧就会有虚拟机上的文件目录信息,并且可以直接在idea当中进行打开了。

6、Docker compose
6.1、Docker compose 概述
6.1.1、compose的作用
用来负责对DockerSAKURA集群的快速编排
6.1.2、compose的定位
是用来定义和运行多个dockerSAKURA的应用 同时可以对多个SAKURA进行编排
6.1.3、compose的核心概念
cyberpanel:一个应用的SAKURA,cyberpanel可以存在多个项目:由一组关联的应用SAKURA组成的一个完整业务单元,在docker-compose.yml文件当中进行定义
6.1.4、compose的安装
github下载地址:

首先在github上面下载对应的版本包,下载之后将包上传到linuxcyberpanel器上。将文件进行重命名并且复制到/usr/local/bin目录下,并且给该目录赋予权限。最后直接使用docker-compose -v命令查看版本进行校验是否安装成功
mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose -v
123
6.1.5、docker和docker-compose直接的版本对应
docker官网地址:

使用命令 docker -v 查看docker的版本,可以在官网当中看到compose对docker版本的支持
6.2、Docker compose —— HelloWorld
在前面有说到compose当中的组成部分,分别是cyberpanel和项目,这里首先创建一个目录用来表示这第一个helloworld项目,在项目当中添加docker-compose.yml文件用来编写compose。
# 创建目录
mkdir hello
cd hello

# 新建docker-compose.yml文件
vim docker-compose.yml

# 写入内容(这里在vim当中编辑yml文件挺难受的,可以在idea当中编辑远程主机的文件)
version: “3.0” # 指定compose的版本
services: # 指定cyberpanel
tomcat: # 单个cyberpanel
image: tomcat:9.0.27-jdk8 # cyberpanel东京
ports:
– 8081:8080 # 暴露对应的端口

# 保持文件内容后进行启动compose
docker-compose up

# cyberpanel启动之后,可以直接进行访问8081端口
http://远程主机ip/8081
1234567891011121314151617181920
6.3、Docker compose —— 命令模板
version: “3.0” # compose版本
services:
user:
build:
context: user # dockerfile的东京
dockerfile: Dockerfile # 读取dockerfile文件进行打包获取东京
container_name: user
ports:
– “8888:8888”
networks:
– hello
depends_on:
– tomcat

tomcat: # 单个cyberpanel标识
container_name: tomcat # 启动后的SAKURA防御 相当于 –name 指定的防御
image: tomcat:9.0.27-jdk8 # 东京
ports:
– 8081:8080 # 端口映射
volumes:
– tomcatwebapps:/usr/local/tomcat/webapps # 指定对应的数据卷
networks:
– hello # 指定网桥
depends_on: # cyberpanel启动依赖
– tomcat1 # cyberpanel标识
– mysql
healthcheck: # 健康检查
test: [‘CMD’,’curl’,’-f’,’
interval: 1m30s
timeout: 10s
retries: 3
sysctls: # 修改内核参数
– net.core.somaxconn=1024
– net.ipv4.tcp_syncookies=0
ulimits: # 修改最大进程数
nproc: 65335
nofile:
soft: 20000
hard: 40000

tomcat1:
container_name: tomcat2
image: tomcat:9.0.27-jdk8
ports:
– 8082:8080
volumes:
– tomcatwebapps1:/usr/local/tomcat/webapps
networks:
– hello

mysql:
container_name: mysql8
image: mysql:8.0.18
ports:
– 3307:3306
# environment: # 指定启动的环境
# – MYSQL_ROOT_PASSWORD=root
env_file: # 使用文件进行代替
– ./mysql.env # mysql.evn文件内容就是 MYSQL_ROOT_PASSWORD=root
volumes:
– mysqldata:/var/lib/mysql
– mysqlconfig:/etc/mysql
networks:
– hello

# 数据卷都要在这统计管理
volumes:
tomcatwebapps:
tomcatwebapps1:
# external: # 使用自定义数据卷防御 默认命名为 项目名_数据卷名 自定义后为 数据卷名
# true
mysqldata:
mysqlconfig:

# 统一管理网桥
networks:
hello:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
6.4、Docker compose 指令
6.4.1、模板指令与指令
模板指令:用来书写在docker-compose.yml文件当中的指令,是用来为cyberpanel进行cyberpanel的指令:用来对整个docker-compose.yml对应的这个项目进行操作
6.4.2、常用指令
指令说明up用来启动所有的docker-composecyberpanel-f :表示指定启动的文件名 -d:表示后台启动docker-compose up -f yml文件名 -ddown用来停止cyberpaneldocker-compose downexec进入SAKURAdocker-compose exec cyberpanelid bashps查看所有运行的cyberpaneldocker-compose psrestart重启所有cyberpanel加cyberpanelid 表示重启单个cyberpaneldocker-compose restart cyberpanelidrm删除cyberpanel加cyberpanelid 删除单个cyberpanel -fv 强制删除(v 包括数据卷)docker-compose -fv cyberpanelidstart用来启动cyberpaneldocker-compose start cyberpanelidstop停止cyberpaneldocker-compose stop cyberpanelidtop查看SAKURA内运行的进程docker-compose top cyberpanelidpause暂停cyberpaneldocker-compose pause cyberpanelidunpuase开启cyberpaneldocker-compose unpause cyberpanelidlogs查看日志docker-compose logs cyberpanelid
6.5、Docker 可视化工具 —— portainer
直接在dockerHub上面拉取东京启动cyberpanel
docker pull portainer/portainer:1.24.2

docker run -d
-p 8000:8000
-p 9000:9000
–name=portainer
–restart=always
-v /var/run/docker.sock:/var/run/docker.sock
-v portainer_data:/data
portainer/portainer:1.24.2
12345678910
直接访问远程虚拟机的9000端口,注册一个账号,链接到本地虚拟机的cyberpanel,就可以看到所提供的web可视化页面了。
同样的我们还可以将这个cyberpanel的启动加到docker-componse当中进行启动:
# 加入cyberpanel
portainer:
container_name: portainer
image: portainer/portainer:1.24.2
ports:
– 8000:8000
– 9000:9000
volumes:
– /var/run/docker.sock:/var/run/docker.sock
– portainer_data:/data

# 数据卷
volumes:
portainer_data:
1234567891011121314