feat(docs): 添加docker运维文档及相关资源文件
添加docker运维相关文档,包括: 1. 创建docs/resources目录下的.gitkeep文件 2. 更新.gitattributes添加视频文件类型 3. 在导航栏添加docker运维入口 4. 新增docker运维文档目录结构 5. 添加mongodb和ETLCloud部署指南
This commit is contained in:
@@ -59,6 +59,10 @@ export default defineNavbarConfig([
|
||||
text: '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({
|
||||
dir: 'programming',
|
||||
link: '/programming/web/',
|
||||
@@ -163,5 +184,5 @@ const web = defineNoteConfig({
|
||||
export default defineNotesConfig({
|
||||
dir: 'notes',
|
||||
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