Skip to content

Commit 7918111

Browse files
committed
docs: 更新文档
1 parent ff4db3e commit 7918111

File tree

29 files changed

+7653
-450
lines changed

29 files changed

+7653
-450
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -683,7 +683,7 @@
683683
- [如何优雅的玩转 Git](docs/04.DevOps/工具/Git/如何优雅的玩转Git.md)
684684
- [Git 帮助手册](docs/04.DevOps/工具/Git/Git帮助手册.md)
685685
- 其他
686-
- [正则表达式极简教程](docs/04.DevOps/工具/其他/正则md)
686+
- [正则表达式极简教程](docs/04.DevOps/工具/其他/正则.md)
687687

688688
## 工作
689689

55.4 KB
Binary file not shown.

docs/01.Java/JavaCore/IO/Java_IO_BIO.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,7 @@ public class PipedStreamDemo {
267267

268268
**ObjectInputStream 和 ObjectOutputStream 是对象输入输出流,一般用于对象序列化。**
269269

270-
这里不展开叙述,想了解详细内容和示例可以参考:[Java 序列化](03.Java 序列化。md)
270+
这里不展开叙述,想了解详细内容和示例可以参考:[Java 序列化](Java_IO_序列化.md)
271271

272272
#### 数据操作流
273273

@@ -1013,4 +1013,4 @@ public static void main(String[] args) throws IOException {
10131013
- [《Java 编程思想(Thinking in java)》](https://book.douban.com/subject/2130190/)
10141014
- [《Java 核心技术 卷 I 基础知识》](https://book.douban.com/subject/26880667/)
10151015
- [System 官方 API 手册](https://docs.oracle.com/javase/7/docs/api/java/lang/System.html)
1016-
- [Java 网络编程](https://www.runoob.com/java/java-networking.html)
1016+
- [Java 网络编程](https://www.runoob.com/java/java-networking.html)

docs/03.设计/设计模式/设计模式面试.md

Lines changed: 270 additions & 19 deletions
Large diffs are not rendered by default.
File renamed without changes.

docs/04.DevOps/DevOps_面试.md

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
---
2+
title: DevOps 面试
3+
date: 2025-09-14 21:15:59
4+
categories:
5+
- DevOps
6+
tags:
7+
- DevOps
8+
- 面试
9+
permalink: /pages/e91cabf8/
10+
---
11+
12+
# DevOps 面试
13+
14+
## DevOps 简介
15+
16+
### 【简单】什么是 DevOps?
17+
18+
**DevOps是通过平台(Platform)、流程(Process)和人(People)的有机整合,以C(协作)A(自动化)L(精益)M(度量)S(共享)文化为指引,旨在建立一种可以快速交付价值并且具有持续改进能力的现代化IT组织。**
19+
20+
简单来说,**DevOps 就是让构建、发布和运行软件的过程变得更快、更顺、更稳**
21+
22+
### 【中等】列举一下 DevOps 各环节的主流工具?
23+
24+
![](https://miro.medium.com/v2/resize:fit:4800/format:webp/1*hnrlp3W6kfInWHtJd9Vvag.jpeg)
25+
26+
| 阶段 (Phase) | 核心任务与功能 | 主流工具 |
27+
| :------------------------------------------ | :------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
28+
| **计划与协作** (Plan & Collaborate) | 需求管理、任务拆分、项目跟踪、文档协作 | **Jira****Confluence** |
29+
| **代码与版本控制** (Code & Version Control) | 源代码管理、代码审查、分支策略 | **代码托管****Git****GitHub****GitLab****Svn**<br/>**分支策略****Gitflow** |
30+
| **构建与持续集成 (CI)** (Build & CI) | 自动编译、运行单元测试、打包制品 | **CI****Jenkins****GitLab CI/CD****GitHub Actions****CircleCI**<br/>**Java 构建****Maven****Gradle**<br/>**JS 构建****npm****yarn**<br/>**仓库****Nexus****JFrog** |
31+
| **测试和质量** (Test) | 自动化测试、代码质量与安全扫描 | **测试****Selenium****Cypress****JUnit**<br/>**质量****SonarQube** |
32+
| **发布与持续部署 (CD)** (Release & CD) | 自动化部署、发布策略管理 | **Jenkins****GitLab CI/CD****GitHub Actions**(通用CD) **云原生CD:** **ArgoCD**(GitOps理念)、**Spinnaker**(复杂部署策略)、Tekton |
33+
| **运维与配置** (Operate & Configure) | 基础设施自动化、配置管理、容器编排 | **IaC工具****Terraform**(多云标准)、Ansible(无代理配置)<br/>**容器化:** **Docker****Kubernetes**、Helm |
34+
| **监控与反馈** (Monitor & Feedback) | 性能监控、日志管理、故障告警、用户反馈 | **监控****Prometheus****Grafana**<br/>**日志****ELK Stack**(Elasticsearch, Logstash, Kibana)<br/>**链路追踪**:Jaeger、Zipkin、Skywalking、OpenTelemetry |
35+
36+
## Git
37+
38+
### 【中等】什么是 Git 的 fork 命令?它和 clone 命令有什么区别?
39+
40+
创建一个新的工程空间
41+
42+
### 【中等】什么是 Git 的 cherry-pick?
43+
44+
单独将某一次提交合入其他分支
45+
46+
## Linux
47+
48+
### 【中等】Linux 中的硬链接和软连接是什么,二者有什么区别?
49+
50+
### 【中等】CC 攻击是什么?什么叫 DDOS 攻击?什么是网站数据库注入?
51+
52+
### 【中等】如何在 Linux 中查看系统资源使用情况?比如内存、CPU、网络端口。
53+
54+
- top 查资源占用排名
55+
56+
- free 查内存占用
57+
58+
- df 查磁盘占用
59+
60+
- iostat 查 IO
61+
62+
- netstat 查网络
63+
64+
- ping、traceroute 查网络链路

docs/04.DevOps/DevOps面试.md

Lines changed: 0 additions & 60 deletions
This file was deleted.

docs/04.DevOps/README.md

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
---
22
title: DevOps
3+
icon: mdi:microsoft-azure-devops
34
date: 2022-04-27 20:26:27
45
categories:
56
- DevOps
@@ -14,21 +15,40 @@ index: false
1415

1516
## 📖 内容
1617

17-
### 监控
18+
### 综合
1819

19-
- [监控体系](监控/监控体系.md)
20-
- [链路监控](监控/链路追踪.md)
20+
[DevOps 简介](DevOps_简介.md)
21+
[DevOps 面试](DevOps_面试.md)
2122

2223
### 工具
2324

24-
- Git
25+
- [Git](工具/Git)
2526
- [如何优雅的玩转 Git](工具/Git/如何优雅的玩转Git.md)
2627
- [Git 帮助手册](工具/Git/Git帮助手册.md)
28+
- [Docker](工具/Docker)
29+
- [Docker 快速入门](工具/Docker/Docker_快速入门.md)
30+
- [Docker Dockerfile](工具/Docker/Docker_Dockerfile.md)
31+
- [Docker Compose](工具/Docker/Docker_Compose.md)
32+
- [Docker 面试](工具/Docker/Docker_面试.md)
33+
- [Kubernetes](工具/Kubernetes)
34+
- [Kubernetes 快速入门](工具/Kubernetes/K8S.md)
35+
- [Kubernetes 面试](工具/Kubernetes/K8S_面试.md)
36+
- [Nginx](工具/Nginx)
37+
- [Nginx 快速入门](工具/Nginx/Nginx_快速入门.md)
38+
- [Nginx 简介](工具/Nginx/Nginx_简介.md)
39+
- [Nginx 配置](工具/Nginx/Nginx_配置.md)
40+
- [Nginx 运维](工具/Nginx/Nginx_运维.md)
41+
- [Nginx 面试](工具/Nginx/Nginx_面试.md)
2742
- 其他
28-
- [正则表达式](工具/其他/正则md)
43+
- [正则表达式](工具/其他/正则.md)
44+
45+
### 监控
46+
47+
- [监控体系](监控/监控体系.md)
48+
- [链路监控](监控/链路追踪.md)
2949

3050
## 📚 资料
3151

3252
## 🚪 传送
3353

34-
◾ 💧 [钝悟的 IT 知识图谱](https://dunwu.github.io/waterdrop/)
54+
◾ 💧 [钝悟的 IT 知识图谱](https://dunwu.github.io/waterdrop/)
Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
---
2+
title: Docker Compose
3+
icon: devicon:docker-wordmark
4+
date: 2020-02-02 17:56:00
5+
order: 03
6+
categories:
7+
- DevOps
8+
- 工具
9+
- Docker
10+
tags:
11+
- DevOps
12+
- Docker
13+
---
14+
15+
# Docker Compose
16+
17+
> [compose](https://github.com/docker/compose) 项目是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排。从功能上看,跟 `OpenStack` 中的 `Heat` 十分类似。
18+
19+
## 一、Compose 简介
20+
21+
**`Compose` 的定位是:定义和运行多个 Docker 容器的应用**。 使用一个 `Dockerfile` 模板文件,可以让用户很方便的定义一个单独的应用容器。然而,在日常工作中,经常会碰到需要多个容器相互配合来完成某项任务的情况。例如要实现一个 Web 项目,除了 Web 服务容器本身,往往还需要再加上后端的数据库服务容器,甚至还包括负载均衡容器等。
22+
23+
`Compose` 恰好满足了这样的需求。它允许用户通过一个单独的 `docker-compose.yml` 模板文件(YAML 格式)来定义一组相关联的应用容器为一个项目(project)。
24+
25+
`Compose` 中有两个重要的概念:
26+
27+
- **服务 (`service`)**:一个应用的容器,实际上可以包括若干运行相同镜像的容器实例。
28+
- **项目 (`project`)**:由一组关联的应用容器组成的一个完整业务单元,在 `docker-compose.yml` 文件中定义。
29+
30+
`Compose` 的默认管理对象是项目,通过子命令对项目中的一组容器进行便捷地生命周期管理。
31+
32+
## 二、安装卸载
33+
34+
`Compose` 支持 Linux、macOS、Windows10 三大平台。
35+
36+
Linux 安装方式:
37+
38+
```bash
39+
sudo curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
40+
sudo chmod +x /usr/local/bin/docker-compose
41+
```
42+
43+
> :bell: 详情请参考:[Install Docker Compose](https://docs.docker.com/compose/install/)
44+
45+
## 三、快速入门
46+
47+
### web 应用
48+
49+
新建文件夹,在该目录中编写 `app.py` 文件
50+
51+
```python
52+
from flask import Flask
53+
from redis import Redis
54+
55+
app = Flask(__name__)
56+
redis = Redis(host='redis', port=6379)
57+
58+
@app.route('/')
59+
def hello():
60+
count = redis.incr('hits')
61+
return 'Hello World! 该页面已被访问 {} 次。\n'.format(count)
62+
63+
if __name__ == "__main__":
64+
app.run(host="0.0.0.0", debug=True)
65+
```
66+
67+
### Dockerfile
68+
69+
编写 `Dockerfile` 文件,内容为
70+
71+
```docker
72+
FROM python:3.6-alpine
73+
ADD . /code
74+
WORKDIR /code
75+
RUN pip install redis flask
76+
CMD ["python", "app.py"]
77+
```
78+
79+
### docker-compose.yml
80+
81+
编写 `docker-compose.yml` 文件,这个是 Compose 使用的主模板文件。
82+
83+
```yaml
84+
version: '3'
85+
services:
86+
87+
web:
88+
build: .
89+
ports:
90+
- "5000:5000"
91+
92+
redis:
93+
image: "redis:alpine"
94+
```
95+
96+
### 运行 compose 项目
97+
98+
```bash
99+
$ docker-compose up
100+
```
101+
102+
此时访问本地 `5000` 端口,每次刷新页面,计数就会加 1。
103+
104+
## 四、命令
105+
106+
> :bell: 请参考:
107+
>
108+
> - [Compose 官方命令说明文档](https://docs.docker.com/compose/reference/)
109+
> - [Compose 命令说明中文文档](https://yeasy.gitbooks.io/docker_practice/content/compose/commands.html)
110+
111+
## 五、模板文件
112+
113+
> `docker-compose.yml` 文件是 Docker Compose 的模板文件,其作用类似于 Dockerfile 和 Docker。
114+
115+
[docker-compose.yml 支持的默认环境变量官方文档](https://docs.docker.com/compose/env-file/)
116+
117+
## 参考资料
118+
119+
- **官方**
120+
- [Docker Compose Github](https://github.com/docker/compose)
121+
- [Docker Compose 官方文档](https://docs.docker.com/compose/)
122+
- **教程**
123+
- [Docker — 从入门到实践 - Docker Compose 项目]( https://yeasy.gitbooks.io/docker_practice/content/compose/ )
124+

0 commit comments

Comments
 (0)