feat(docs): 添加docker运维文档及相关资源文件
添加docker运维相关文档,包括: 1. 创建docs/resources目录下的.gitkeep文件 2. 更新.gitattributes添加视频文件类型 3. 在导航栏添加docker运维入口 4. 新增docker运维文档目录结构 5. 添加mongodb和ETLCloud部署指南
This commit is contained in:
3
.gitattributes
vendored
3
.gitattributes
vendored
@@ -9,3 +9,6 @@
|
|||||||
*.tff binary
|
*.tff binary
|
||||||
*.woff binary
|
*.woff binary
|
||||||
*.woff2 binary
|
*.woff2 binary
|
||||||
|
*.mp4 binary
|
||||||
|
*.webm binary
|
||||||
|
*.mov binary
|
||||||
|
|||||||
@@ -59,6 +59,10 @@ export default defineNavbarConfig([
|
|||||||
text: 'Linux 运维',
|
text: 'Linux 运维',
|
||||||
link: '/ops/linux/',
|
link: '/ops/linux/',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
text: 'Docker 运维',
|
||||||
|
link: '/ops/docker/',
|
||||||
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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],
|
||||||
})
|
})
|
||||||
|
|||||||
78
docs/notes/ops/docker/ETLCloud.md
Normal file
78
docs/notes/ops/docker/ETLCloud.md
Normal 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码,然后就可以开始使用啦。
|
||||||
39
docs/notes/ops/docker/README.md
Normal file
39
docs/notes/ops/docker/README.md
Normal 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)
|
||||||
|
- 更多惊喜,敬请期待~✨
|
||||||
|
|
||||||
70
docs/notes/ops/docker/mongodb.md
Normal file
70
docs/notes/ops/docker/mongodb.md
Normal 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");
|
||||||
|
```
|
||||||
0
docs/resources/docs/.gitkeep
Normal file
0
docs/resources/docs/.gitkeep
Normal file
0
docs/resources/images/.gitkeep
Normal file
0
docs/resources/images/.gitkeep
Normal file
0
docs/resources/videos/.gitkeep
Normal file
0
docs/resources/videos/.gitkeep
Normal file
Reference in New Issue
Block a user