feat(docs): 添加docker运维文档及相关资源文件

添加docker运维相关文档,包括:
1. 创建docs/resources目录下的.gitkeep文件
2. 更新.gitattributes添加视频文件类型
3. 在导航栏添加docker运维入口
4. 新增docker运维文档目录结构
5. 添加mongodb和ETLCloud部署指南
This commit is contained in:
祀梦
2025-12-25 09:48:06 +08:00
parent 0fb0ad811b
commit 4a674ccc7a
9 changed files with 216 additions and 1 deletions

3
.gitattributes vendored
View File

@@ -9,3 +9,6 @@
*.tff binary *.tff binary
*.woff binary *.woff binary
*.woff2 binary *.woff2 binary
*.mp4 binary
*.webm binary
*.mov binary

View File

@@ -59,6 +59,10 @@ export default defineNavbarConfig([
text: 'Linux 运维', text: 'Linux 运维',
link: '/ops/linux/', link: '/ops/linux/',
}, },
{
text: 'Docker 运维',
link: '/ops/docker/',
},
], ],
}, },
{ {

View File

@@ -142,6 +142,27 @@ const linux = defineNoteConfig({
} }
] ]
}) })
const docker = defineNoteConfig({
dir: 'ops',
link: '/ops/docker/',
sidebar: [
{ text: "Docker 运维笔记", link: "/ops/docker/" },
{
text: "数据库相关",
prefix: "docker/",
items: [
{ text: "MongoDB 部署", link: "mongodb" },
]
},
{
text: "其他服务",
prefix: "docker/",
items: [
{ text: "ETLCloud 部署", link: "ETLCloud" },
]
},
]
})
const web = defineNoteConfig({ const web = defineNoteConfig({
dir: 'programming', dir: 'programming',
link: '/programming/web/', link: '/programming/web/',
@@ -163,5 +184,5 @@ const web = defineNoteConfig({
export default defineNotesConfig({ export default defineNotesConfig({
dir: 'notes', dir: 'notes',
link: '/', link: '/',
notes: [LeetCode, english, cPlusPlus, solidity, blockchain, linux, cryptography, web], notes: [LeetCode, english, cPlusPlus, solidity, blockchain, linux, docker, cryptography, web],
}) })

View File

@@ -0,0 +1,78 @@
---
title: ETLCloud
createTime: 2025/12/24 17:13:36
permalink: /ops/docker/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,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,70 @@
---
title: 使用 Docker 部署 MongoDB
createTime: 2025/12/24 16:34:00
icon: mdi:database
permalink: /ops/docker/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");
```

View File

View File

View File