feat: v1.0.0 祀梦笔记:从 0 到 1 的数字化花园建设

This commit is contained in:
祀梦
2026-01-09 10:03:40 +08:00
commit a5fd8545f4
75 changed files with 15529 additions and 0 deletions

View File

@@ -0,0 +1,78 @@
---
title: ETLCloud
createTime: 2025/12/24 17:13:36
permalink: /ops/docker/other/ETLCloud/
---
## 前置环境
这里安装之前,需要先安装 mongodb 数据库,可以参考 [使用 Docker 部署 MongoDB](mongodb.md)
## 安装 ETLCloud
拉取社区版本镜像:
```bash
docker pull ccr.ccs.tencentyun.com/restcloud/restcloud-etl:V4.0
```
### 部署容器
如果您已经运行过同名容器,请先删除:
```bash
docker rm -f restcloud-etl-V4.0
```
使用以下命令进行部署(包含授权绑定、数据持久化和端口映射):
```bash
docker run -d \
--restart=always \
--privileged=true \
--name restcloud-etl-V4.0 \
--mac-address=01:D2:F4:18:B8:67 \
-v /data/tomcat:/usr/tomcat \
-p 9527:8080 \
ccr.ccs.tencentyun.com/restcloud/restcloud-etl:V4.0
```
**参数说明:**
- `--restart=always`: 容器退出时总是重启(如系统重启)。
- `--privileged=true`: 赋予容器特权模式,确保初始化正常。
- `--mac-address`: 固定 MAC 地址,用于绑定 License 授权(**注意:第一个字节必须为偶数,建议使用 02 开头**)。
- `-v /data/tomcat:/usr/tomcat`: 将 Tomcat 目录挂载到宿主机,实现数据持久化。
- `-p 9527:8080`: 访问端口映射,宿主机访问端口为 9527。
拷贝容器中的 tomcat 目录到主机上
```bash
docker cp e0419ad8a2bf31743ec17368cf4098e293c36761842a7dcff8280fbc34195fba:/usr/tomcat /data/
```
删除之前创建的简单容器
```bash
docker rm -f e0419ad8a2bf31743ec17368cf4098e293c36761842a7dcff8280fbc34195fba
```
在 /data/tomcat 路径下编辑ETLCloud mongo相关的配置文件这里的信息参考之前创建的 MongoDB 实例。
这里我额外修改了 server.port ,这里太容易和其他的服务端口冲突,所以这里修改为 9527。
```bash
sudo vim ./webapps/ROOT/WEB-INF/classes/application.properties
server.port=9527
...
#集群服务器之间同步用的公共配置数据库,空表示和配置库一起
spring.data.mongodb.host=127.0.0.1:27018
spring.data.mongodb.repositories.enabled=true
#MongoDb的数据库认证用户名及密码,没有可以为空
spring.data.mongodb.username=admin
spring.data.mongodb.password=admin
...
```
然后可以启动容器,样例如下:
```bash
docker run -d --restart=always --restart=on-failure:5 --privileged=true --name restcloud-etl-V4.0 --mac-address=自定义mac地址 -v /home/tomcat:/usr/tomcat -p 8080:8080 镜像id
```
具体命令这里的MAC地址参数一定是要有的不然每次重新创建之后MAC地址会变就需要重新生成SN码
这里的MAC地址不要和博主写一样的...自己随机一个或者随便写一个就行
```bash
docker run -d --restart=always --restart=on-failure:5 --privileged=true --name restcloud-etl-V4.0 --mac-address=02:D2:00:00:00:67 -v /data/tomcat:/usr/tomcat -p 9527:8080 4a5c0ed2a5b2
```
然后访问 服务器IP:9527/restcloud/admin/login 就可以啦
后面的话就是去官网申请一个SN码然后就可以开始使用啦。

View File

@@ -0,0 +1,69 @@
---
title: 使用 Docker 部署 Postgres
createTime: 2025/12/25 10:52:34
permalink: /ops/docker/db/postgres/
---
## 在 Ubuntu 上部署 Postgres 实例
拉取 Postgres 镜像:
```bash
docker pull postgres
```
> [!IMPORTANT] 注意事项
> 从 **PostgreSQL 18+** 版本开始,官方镜像建议将数据目录挂载到 `/var/lib/postgresql` 而非 `/var/lib/postgresql/data`。如果你是从旧版本升级镜像,直接挂载旧目录会导致启动失败。
### 极简运行 Postgres 实例
```bash
docker run --restart=always -itd --name postgres -p 5432:5432 -e POSTGRES_PASSWORD=postgres postgres
```
解析:
- `--restart=always`:容器重启时自动启动。
- `-itd`:交互式模式运行容器,后台模式。
- `--name postgres`:为容器命名为 postgres。
- `-p 5432:5432`:将主机的 5432 端口映射到容器的 5432 端口。
- `-e POSTGRES_PASSWORD=postgres`:设置 Postgres 数据库的密码为 postgres。
- `postgres`:使用 Postgres 镜像。
### 配置 Postgres 持久化实例
#### 方案一:使用最新版本 (18+)
创建一个目录用于存储 Postgres 数据:
```bash
mkdir -p /data/postgres/
```
运行 Postgres 容器:
```bash
docker run --restart=always -itd \
--name postgres \
-p 5432:5432 \
-e POSTGRES_PASSWORD=postgres \
-v /data/postgres/:/var/lib/postgresql \
postgres
```
#### 方案二:固定使用旧版本 (如 17)
如果你有现存的 `/var/lib/postgresql/data` 格式数据,建议固定版本:
```bash
docker run --restart=always -itd \
--name postgres \
-p 5432:5432 \
-e POSTGRES_PASSWORD=postgres \
-v /data/postgres/:/var/lib/postgresql/data \
postgres:17
```
解析:
- `-v /data/postgres/:/var/lib/postgresql/data`:将主机的 /data/postgres/ 目录挂载到容器的 /var/lib/postgresql/data 目录,用于持久化存储数据。
#### 进入容器之后修改 postgres 用户密码
进入 Postgres 容器:
```bash
docker exec -it postgres psql -U postgres
```
解析:
- `docker exec -it postgres psql -U postgres`:进入 Postgres 容器的 psql 命令行界面,使用 postgres 用户进行登录。
修改 postgres 用户密码为 postgres
```sql
ALTER USER postgres PASSWORD 'postgres';
```

View File

@@ -0,0 +1,39 @@
---
title: Docker 部署运维
createTime: 2025/12/24 16:39:34
permalink: /ops/docker/
---
欢迎来到 Docker 运维笔记!✨
在这里我们将一起探索那些神奇的“小盒子”——Docker 容器。它们就像是装满惊喜的礼盒,把复杂的程序都整整齐齐地收纳在一起,是不是很有趣呢?♪
不管是部署数据库,还是搭建各种好玩的应用,只要有了这些小盒子,一切都会变得像魔法一样简单又优雅呢~真期待看到你在运维的道路上,也能像花朵一样绽放光彩呢。🌸
好啦,让我们开始这段美妙的旅程吧~如果遇到困难,这里会一直提供帮助的哦~
## 常用基础命令 🛠️
为了更顺畅地开启这段旅程,这里准备了一些常用的魔法指令:
### 容器管理
- `docker ps`:查看正在运行的小盒子。
- `docker ps -a`:查看所有的小盒子(包括休息中的)。
- `docker stop <ID>`:让小盒子暂时休息一下。
- `docker start <ID>`:唤醒休息中的小盒子。
- `docker rm <ID>`:送走不再需要的小盒子。
### 镜像管理
- `docker images`:查看我们收集的所有魔法镜像。
- `docker pull <name>`:从云端下载新的魔法镜像。
- `docker rmi <ID>`:清理不再需要的魔法镜像。
### 日志与调试
- `docker logs -f <ID>`:实时查看小盒子里的悄悄话。
- `docker exec -it <ID> /bin/bash`:亲自钻进小盒子里面看看。
## 部署清单 📋
- [MongoDB 部署魔法](./mongodb.md)
- 更多惊喜,敬请期待~✨

View File

@@ -0,0 +1,69 @@
---
title: 使用 Docker 部署 MongoDB
createTime: 2025/12/24 16:34:00
permalink: /ops/docker/db/mongodb/
---
本教程将介绍如何使用 Docker 快速部署一个 MongoDB 实例。
## 在 Ubuntu 上部署 MongoDB:4.2 实例
我们先拉取 MongoDB:4.2 镜像:
```bash
docker pull mongo:4.2
```
创建一个目录用于存储 MongoDB 数据:
```bash
mkdir -p /data/mongo/
```
启动 MongoDB 容器:
```bash :wrap
sudo docker run --restart=always -itd --name mongo -p 27018:27017 -v /data/mongo/:/data/db mongo:4.2 --auth
```
命令详解:
- `--restart=always`:容器重启时自动启动。
- `-itd`:交互式模式运行容器,后台模式。
- `--name mongo`:为容器命名为 mongo。
- `-p 27018:27017`:将主机的 27018 端口映射到容器的 27017 端口。
- `-v /data/mongo/:/data/db`:将主机的 /data/mongo/ 目录挂载到容器的 /data/db 目录,用于持久化存储数据。
- `mongo:4.2`:使用 MongoDB:4.2 镜像。
- `--auth`:启用身份验证功能。
进入 MongoDB 容器:
```bash
docker exec -it mongo mongo admin
```
### 在 MongoDB 容器中创建管理员用户
先进入 admin 数据库
```bash
use admin;
```
创建管理员用户 admin, 密码 root, 角色为 root。
```bash
db.createUser( { user: "root", pwd: "root", roles:['root'] });
```
退出 MongoDB 容器:
```bash
exit
```
使用 root 用户进行登录
```bash
docker exec -it mongo mongo admin -u root -p root
```
这里还能创建一个 admin 用户,用密码 admin角色为 readWriteAnyDatabase, dbAdminAnyDatabase。
```bash
db.createUser( { user: "admin", pwd: "admin", roles:['readWriteAnyDatabase','dbAdminAnyDatabase'] } );
```
验证用户,这里会登录到 admin
```bash
db.auth("admin","admin");
```
删除用户的话可以使用,注意这里要切换回 root 用户
```bash
db.dropUser("admin");
```