Skip to content

Commit d480502

Browse files
添加Docker文档并更新导航菜单,添加Git的教程
1 parent 39a4b27 commit d480502

3 files changed

Lines changed: 152 additions & 0 deletions

File tree

docs/新手村/docker.md

Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
---
2+
comments: true
3+
---
4+
5+
# Docker
6+
7+
Docker是非常重要的工具。当你需要部署服务的时候,用Docker准没错,能有效解决不同平台兼容性问题。
8+
9+
你可能经常遇到下面的几种情况:
10+
11+
“这个项目安装起来好麻烦啊,这么多步骤得弄上半天”
12+
13+
“诶,这个代码在我这儿运行就没事儿啊,怎么到你那儿就报错啊”
14+
15+
而这正是Docker技术大显身手的场景。通过将应用程序及其依赖封装为轻量级容器,Docker实现了:
16+
17+
- 开发/测试/生产环境的绝对一致性
18+
- 依赖关系的完全隔离与管理
19+
- 秒级的环境搭建与销毁能力
20+
- 跨平台(Windows/macOS/Linux)的标准化运行
21+
22+
采用Docker后,团队不再需要维护冗长的环境配置文档,新人接入时间可从小时级缩短至分钟级。更重要的是,它能彻底杜绝"环境差异"导致的运行异常,让开发者真正实现"Build once, run anywhere"的理想工作模式。
23+
24+
# Docker基本介绍
25+
26+
[什么是Docker?看这一篇干货文章就够了!](https://zhuanlan.zhihu.com/p/187505981)
27+
28+
# 安装和配置
29+
30+
由于不可名状的原因,在国内使用Docker会有很多阻碍,Docker下载不了,镜像拉不下来之类的网络问题。可以参考以下文章:
31+
32+
[国内用户一键安装Docker并配置镜像源](https://www.yeluohuakai.com/posts/2024/09/4d4367cb)
33+
34+
[完美解决Docker pull时报错:https://registry-1.docker.io/v2/-CSDN博客](https://blog.csdn.net/qingzhumuqingfeng/article/details/144094325)
35+
36+
# 使用教程
37+
38+
[Docker 教程 | 菜鸟教程](https://www.runoob.com/docker/docker-tutorial.html)
39+
40+
Docker其实并不难,只需要知道这几个常用命令就可以了
41+
42+
### **一、镜像管理**
43+
44+
| 命令 | 说明 | 示例 |
45+
| --- | --- | --- |
46+
| `docker pull <镜像名>` | 从仓库下载镜像 | `docker pull nginx:latest` |
47+
| `docker images` | 查看本地所有镜像 | `docker images` |
48+
| `docker build -t <镜像名> .` | 根据 Dockerfile 构建镜像 | `docker build -t myapp:v1 .` |
49+
| `docker rmi <镜像ID>` | 删除指定镜像 | `docker rmi abc123` |
50+
| `docker image prune` | 清理无用镜像 | `docker image prune -a` |
51+
52+
**小贴士**
53+
54+
- 镜像名格式为 `名称:标签`(如 `ubuntu:20.04`),默认标签为 `latest`
55+
- 构建镜像时,确保在 Dockerfile 所在目录执行命令!
56+
57+
---
58+
59+
### **二、容器管理**
60+
61+
| 命令 | 说明 | 示例 |
62+
| --- | --- | --- |
63+
| `docker run [参数] <镜像名>` | 创建并启动容器 | `docker run -d -p 80:80 --name myweb nginx` |
64+
| `docker ps` | 查看运行中的容器 | `docker ps -a`(显示全部) |
65+
| `docker start/stop <容器名>` | 启动/停止容器 | `docker stop myweb` |
66+
| `docker restart <容器名>` | 重启容器 | `docker restart myweb` |
67+
| `docker exec -it <容器名> /bin/bash` | 进入容器终端 | `docker exec -it myweb bash` |
68+
| `docker logs <容器名>` | 查看容器日志 | `docker logs -f myweb`(实时追踪) |
69+
| `docker rm <容器名>` | 删除容器 | `docker rm myweb` |
70+
71+
**常用参数**
72+
73+
- `d`:后台运行(守护进程)
74+
- `p 宿主机端口:容器端口`:端口映射(如 `p 8080:80`
75+
- `v 宿主机路径:容器路径`:目录挂载(数据持久化)
76+
- `-name`:指定容器名称(否则随机命名)
77+
- `e`:设置环境变量(如 `e MYSQL_ROOT_PASSWORD=123`
78+
79+
---
80+
81+
### **三、网络与存储**
82+
83+
| 命令 | 说明 | 示例 |
84+
| --- | --- | --- |
85+
| `docker network ls` | 查看所有网络 | `docker network ls` |
86+
| `docker volume create` | 创建数据卷 | `docker volume create mydata` |
87+
| `docker volume ls` | 查看所有数据卷 | `docker volume ls` |
88+
89+
---
90+
91+
### **四、实用组合命令**
92+
93+
1. **删除所有停止的容器**
94+
95+
```bash
96+
docker container prune
97+
```
98+
99+
2. **一键清理无用资源**(镜像/容器/网络/缓存):
100+
101+
```bash
102+
docker system prune -a
103+
```
104+
105+
3. **复制文件到容器**
106+
107+
```bash
108+
docker cp 本地文件路径 容器名:容器路径
109+
```
110+
111+
4. **查看容器资源占用**
112+
113+
```bash
114+
docker stats
115+
```
116+
117+
118+
---
119+
120+
### **五、新手常见场景**
121+
122+
1. **快速启动一个 Web 服务**
123+
124+
```bash
125+
docker run -d -p 8080:80 --name webserver nginx
126+
```
127+
128+
访问 `http://localhost:8080` 即可看到 Nginx 页面!
129+
130+
2. **调试容器内部**
131+
132+
```bash
133+
docker exec -it webserver bash
134+
```
135+
136+
3. **保存容器修改为新镜像**
137+
138+
```bash
139+
docker commit webserver mynginx:v2
140+
```
141+
142+
143+
---
144+
145+
**总结**
146+
147+
- 镜像 = 模板,容器 = 根据模板运行的实例
148+
- 操作顺序:下载镜像 → 运行容器 → 管理容器 → 清理资源
149+
- 遇到问题多用 `docker logs` 看日志,善用 `docker exec` 进容器调试

docs/新手村/git_github.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ comments: true
88

99
推荐学习资料:
1010

11+
[【优先看这个!】给傻子的Git教程](https://www.bilibili.com/video/BV1Hkr7YYEh8)
12+
1113
[Git 工作流程 | 菜鸟教程](https://www.runoob.com/git/git-workflow.html)
1214

1315
[关于 GitHub 和 Git](https://docs.github.com/zh/get-started/start-your-journey/about-github-and-git)

mkdocs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ nav:
9999
- Markdown: 新手村/markdown.md
100100
- LaTeX: 新手村/latex.md
101101
- Git & Github: 新手村/git_github.md
102+
- Docker: 新手村/docker.md
102103
- 数学:
103104
- 前言: 数学/math_index.md
104105
- 高等数学: 数学/高等数学.md

0 commit comments

Comments
 (0)