Update from Sync Service
This commit is contained in:
70
Docker/Docker-Compose安装.md
Executable file
70
Docker/Docker-Compose安装.md
Executable file
@@ -0,0 +1,70 @@
|
|||||||
|
# 安装 Docker Compose
|
||||||
|
|
||||||
|
## 方式一:作为容器运行(推荐)
|
||||||
|
|
||||||
|
Docker Compose 可以作为容器运行,通过一个轻量级 bash 脚本调用。
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 下载并安装
|
||||||
|
sudo curl -L --fail \
|
||||||
|
https://github.com/docker/compose/releases/download/v2.24.0/docker-compose-$(uname -s)-$(uname -m) \
|
||||||
|
-o /usr/local/bin/docker-compose
|
||||||
|
|
||||||
|
sudo chmod +x /usr/local/bin/docker-compose
|
||||||
|
|
||||||
|
# 验证安装
|
||||||
|
docker-compose --version
|
||||||
|
```
|
||||||
|
|
||||||
|
## 方式二:pip 安装
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pip install docker-compose
|
||||||
|
```
|
||||||
|
|
||||||
|
## 方式三:standalone 二进制
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 下载指定版本
|
||||||
|
COMPOSE_VERSION=$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep tag_name | cut -d'"' -f4)
|
||||||
|
|
||||||
|
curl -L \
|
||||||
|
"https://github.com/docker/compose/releases/download/${COMPOSE_VERSION}/docker-compose-$(uname -s)-$(uname -m)" \
|
||||||
|
-o /usr/local/bin/docker-compose
|
||||||
|
|
||||||
|
chmod +x /usr/local/bin/docker-compose
|
||||||
|
```
|
||||||
|
|
||||||
|
## 快速使用
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# docker-compose.yml 示例
|
||||||
|
version: '3.8'
|
||||||
|
services:
|
||||||
|
web:
|
||||||
|
image: nginx:latest
|
||||||
|
ports:
|
||||||
|
- "80:80"
|
||||||
|
db:
|
||||||
|
image: postgres:13
|
||||||
|
environment:
|
||||||
|
POSTGRES_PASSWORD: secret
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 启动服务
|
||||||
|
docker-compose up -d
|
||||||
|
|
||||||
|
# 查看状态
|
||||||
|
docker-compose ps
|
||||||
|
|
||||||
|
# 查看日志
|
||||||
|
docker-compose logs -f
|
||||||
|
|
||||||
|
# 停止服务
|
||||||
|
docker-compose down
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
> 参考:[Docker Compose 官方文档](https://docs.docker.com/compose/)
|
||||||
62
Docker/Docker镜像清理.md
Executable file
62
Docker/Docker镜像清理.md
Executable file
@@ -0,0 +1,62 @@
|
|||||||
|
# Docker 镜像清理
|
||||||
|
|
||||||
|
## 清理无用镜像
|
||||||
|
|
||||||
|
### 方法一:prune 命令(推荐)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 清理悬空镜像(无 tag 的镜像)
|
||||||
|
docker image prune -f
|
||||||
|
|
||||||
|
# 清理所有未使用镜像
|
||||||
|
docker image prune -a -f
|
||||||
|
```
|
||||||
|
|
||||||
|
### 方法二:批量清理
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 批量删除所有无用镜像,不会影响正在使用的镜像
|
||||||
|
docker images | awk 'NR!=1{print $1":"$2}' | xargs docker rmi
|
||||||
|
```
|
||||||
|
|
||||||
|
### 方法三:system prune(全面清理)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 清理所有未使用的容器、网络、镜像
|
||||||
|
docker system prune -f
|
||||||
|
|
||||||
|
# 清理所有未使用的镜像,不仅仅是悬空镜像
|
||||||
|
docker system prune -a -f
|
||||||
|
|
||||||
|
# 清理卷(注意:会删除数据)
|
||||||
|
docker system prune --volumes -f
|
||||||
|
```
|
||||||
|
|
||||||
|
## 清理前后对比
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 查看清理前
|
||||||
|
docker images -a
|
||||||
|
|
||||||
|
# 清理
|
||||||
|
docker system prune -f
|
||||||
|
|
||||||
|
# 查看清理后
|
||||||
|
docker images -a
|
||||||
|
```
|
||||||
|
|
||||||
|
## 定时清理(可选)
|
||||||
|
|
||||||
|
创建 cron 任务定期清理:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 编辑 crontab
|
||||||
|
crontab -e
|
||||||
|
|
||||||
|
# 每周日凌晨 3 点清理
|
||||||
|
0 3 * * 0 /usr/bin/docker system prune -f
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
> 参考:[Docker 官方文档](https://docs.docker.com/config/pruning/)
|
||||||
@@ -19,14 +19,14 @@ updated: 2026-04-21
|
|||||||
|------|------|
|
|------|------|
|
||||||
| [[Docker安装redis]] | Redis 容器化部署 |
|
| [[Docker安装redis]] | Redis 容器化部署 |
|
||||||
| [[Docker 部署 MongoDB]] | MongoDB 容器化部署 |
|
| [[Docker 部署 MongoDB]] | MongoDB 容器化部署 |
|
||||||
| [[安装docker-compose]] | Docker Compose 安装 |
|
| [[Docker-Compose安装]] | Docker Compose 安装 |
|
||||||
|
|
||||||
### 运维管理
|
### 运维管理
|
||||||
| 笔记 | 说明 |
|
| 笔记 | 说明 |
|
||||||
|------|------|
|
|------|------|
|
||||||
| [[centos7设置docker开机自启动]] | Docker 及容器自启动配置 |
|
| [[centos7设置docker开机自启动]] | Docker 及容器自启动配置 |
|
||||||
| [[docker镜像清理]] | 清理无用镜像 |
|
| [[Docker镜像清理]] | 清理无用镜像 |
|
||||||
| [[如何批量删除Docker中已经停止的容器]] | 批量清理已停止容器 |
|
| [[批量删除已停止容器]] | 批量清理已停止容器 |
|
||||||
|
|
||||||
### Rancher
|
### Rancher
|
||||||
| 笔记 | 说明 |
|
| 笔记 | 说明 |
|
||||||
|
|||||||
74
Docker/批量删除已停止容器.md
Executable file
74
Docker/批量删除已停止容器.md
Executable file
@@ -0,0 +1,74 @@
|
|||||||
|
# 批量删除已停止的 Docker 容器
|
||||||
|
|
||||||
|
## 方法一:使用 docker ps + awk(最常用)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 查看所有已停止的容器
|
||||||
|
sudo docker ps -a | grep Exited
|
||||||
|
|
||||||
|
# 获取已停止容器的 ID
|
||||||
|
sudo docker ps -a | grep Exited | awk '{print $1}'
|
||||||
|
|
||||||
|
# 批量删除已停止容器
|
||||||
|
sudo docker rm $(docker ps -a | grep Exited | awk '{print $1}')
|
||||||
|
```
|
||||||
|
|
||||||
|
## 方法二:删除所有未运行的容器
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 删除所有未运行的容器
|
||||||
|
sudo docker rm $(sudo docker ps -a -q)
|
||||||
|
```
|
||||||
|
|
||||||
|
## 方法三:根据容器状态删除(Docker 1.13+)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 删除所有 Exited 状态的容器
|
||||||
|
sudo docker rm $(docker ps -qf status=exited)
|
||||||
|
```
|
||||||
|
|
||||||
|
参数说明:
|
||||||
|
- `-q`:只输出容器 ID
|
||||||
|
- `status=exited`:筛选已退出的容器
|
||||||
|
- `status=created`:筛选已创建但未启动的容器
|
||||||
|
- `status=running`:筛选正在运行的容器
|
||||||
|
|
||||||
|
## 方法四:docker container prune(Docker 1.13+ 推荐)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 删除所有已停止的容器(交互式确认)
|
||||||
|
docker container prune
|
||||||
|
|
||||||
|
# 直接删除,不确认(适合脚本)
|
||||||
|
docker container prune -f
|
||||||
|
```
|
||||||
|
|
||||||
|
## 方法五:删除所有容器(谨慎使用)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 删除所有容器(包括运行中的)
|
||||||
|
docker rm -f $(docker ps -aq)
|
||||||
|
|
||||||
|
# 仅删除已停止的容器
|
||||||
|
docker container prune -f
|
||||||
|
```
|
||||||
|
|
||||||
|
## 完整流程示例
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 1. 查看当前容器状态
|
||||||
|
docker ps -a
|
||||||
|
|
||||||
|
# 2. 统计已停止容器数量
|
||||||
|
docker ps -a | grep Exited | wc -l
|
||||||
|
|
||||||
|
# 3. 批量删除已停止容器
|
||||||
|
docker rm $(docker ps -aq -f status=exited)
|
||||||
|
|
||||||
|
# 4. 确认删除结果
|
||||||
|
docker ps -a
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
> Docker 1.13+ 版本建议使用 `docker container prune` 命令,更简洁安全。
|
||||||
Reference in New Issue
Block a user