Update nexus: fix conflicts and sync local changes

This commit is contained in:
Shen Wei
2026-04-26 12:06:50 +08:00
parent 191797c01b
commit f09834b5a5
2443 changed files with 254323 additions and 255154 deletions

View File

@@ -1,185 +1,185 @@
---
title: "Docker警告处理"
type: concept
tags: [docker, troubleshooting, warnings, compose]
date: 2026-04-22
---
# Docker警告处理
## Definition
Docker 在执行 `docker compose up``docker compose down` 时常会产生警告WARNING这些警告通常表示资源命名冲突或配置不一致。虽然不一定导致功能故障但了解其根因有助于正确处理和预防。
## Common Warnings
### WARN 1: Network 已存在但不是当前项目创建
**典型警告信息**
```
WARNING: Found orphan containers ([container_name]) for this project.
WARNING: Network portainer_network declared as external, but it does not exist
```
**根因分析**
- 使用了不同的 compose 文件(或不同的项目目录名)部署过同名应用
- Docker Compose 以**项目目录名**作为网络/卷名前缀:`${PROJECT_NAME}_${network_name}`
- 之前的项目创建了 `portainer_network`,新 compose 声明了同名网络但找不到对应资源
**示例场景**
```
# 目录 ~/portainer-deploy 运行过
docker compose up -d
# → 创建网络 portainer-deploy_portainer_network
# 目录 ~/my-portainer 运行新的 compose
docker compose up -d
# → 尝试创建 my-portainer_portainer_network
# → 与旧项目冲突
```
**解决方案**
**方案 A复用旧资源数据保留**
```yaml
networks:
portainer_network:
external: true
```
Compose 不会创建网络,直接使用已存在的 `portainer_network`
**方案 B删除旧资源干净重建**
```bash
# 1. 查看网络
docker network ls | grep portainer
# 2. 查看是否有容器正在使用
docker network inspect portainer_network --format '{{range .Containers}}{{.Name}} {{end}}'
# 3. 断开仍连接的网络(如果有)
docker network disconnect portainer_network <container>
# 4. 删除网络
docker network rm portainer_network
# 5. 重新 up
docker compose up -d
```
---
### WARN 2: Volume 已存在但属于另一个 Compose 项目
**典型警告信息**
```
WARNING: Volume portainer_data exists but was not created for service 'portainer'.
It will not be used.
```
**根因分析**
- 之前用不同的项目名部署过 Portainer创建了旧卷`portainer_portainer_data`
- 新 compose 声明的卷名(如 `portainer_data`)是不同命名前缀下的卷
- Docker 认为旧卷不是为当前服务创建的,可能不兼容
**解决方案**
**方案 A复用旧卷数据保留**
```yaml
volumes:
portainer_data:
external: true
```
**方案 B删除旧卷数据丢失风险**
```bash
# 1. 查看所有 portainer 相关卷
docker volume ls | grep portainer
# 2. 查看卷详细信息
docker volume inspect portainer_portainer_data
# 3. 删除旧卷(注意:会丢失数据)
docker volume rm portainer_portainer_data
# 4. 重新 up
docker compose up -d
```
**⚠️ 警告**:删除 Volume 会永久丢失数据。删除前确认是否需要保留数据。
---
### WARN 3: Found Orphan Containers
**典型警告信息**
```
WARNING: Found orphan containers ([portainer]) for this project.
```
**根因**compose 文件中删除了某个服务定义,但对应的容器仍存在于 Docker 中。
**解决方案**
```bash
# 方案 A删除孤儿容器
docker rm portainer
# 方案 B撤销 compose 文件修改,恢复服务定义
```
---
## Prevention Best Practices
### 1. 使用固定的项目名
```bash
# 指定项目名,避免目录名作为前缀
docker compose -p my-app up -d
# 或在 .env 文件中固定
COMPOSE_PROJECT_NAME=my-app
```
### 2. 在部署前先清理
```bash
# 干净部署前先停止并删除
docker compose down
docker compose up -d
```
### 3. 统一使用 external: true
对于已存在资源的场景,统一在 compose 中声明 `external: true`
```yaml
volumes:
portainer_data:
external: true
networks:
portainer_network:
external: true
```
### 4. 使用一致的目录名
避免频繁变更 compose 文件所在目录,防止命名前缀混乱。
## Troubleshooting Flowchart
```
出现 WARN 警告
识别警告类型Network / Volume / Container
确认是否需要保留旧资源的数据
├─ 需要保留 → 改用 external: true
└─ 不需要保留 → 删除旧资源后重新 up
```
## Related Concepts
- [[Docker Compose]] — compose 文件中的 external 声明
- [[Docker卷]] — Volume 的生命周期
- [[Docker Network]] — Network 的生命周期
- [[Docker容器生命周期管理]] — 容器的 CRUD 操作
## Related Entities
- [[Portainer]] — 常见产生警告的容器应用
## See Also
- [[如何删除旧的废弃的docker-container-volume]] — 完整实操记录
---
title: "Docker警告处理"
type: concept
tags: [docker, troubleshooting, warnings, compose]
date: 2026-04-22
---
# Docker警告处理
## Definition
Docker 在执行 `docker compose up``docker compose down` 时常会产生警告WARNING这些警告通常表示资源命名冲突或配置不一致。虽然不一定导致功能故障但了解其根因有助于正确处理和预防。
## Common Warnings
### WARN 1: Network 已存在但不是当前项目创建
**典型警告信息**
```
WARNING: Found orphan containers ([container_name]) for this project.
WARNING: Network portainer_network declared as external, but it does not exist
```
**根因分析**
- 使用了不同的 compose 文件(或不同的项目目录名)部署过同名应用
- Docker Compose 以**项目目录名**作为网络/卷名前缀:`${PROJECT_NAME}_${network_name}`
- 之前的项目创建了 `portainer_network`,新 compose 声明了同名网络但找不到对应资源
**示例场景**
```
# 目录 ~/portainer-deploy 运行过
docker compose up -d
# → 创建网络 portainer-deploy_portainer_network
# 目录 ~/my-portainer 运行新的 compose
docker compose up -d
# → 尝试创建 my-portainer_portainer_network
# → 与旧项目冲突
```
**解决方案**
**方案 A复用旧资源数据保留**
```yaml
networks:
portainer_network:
external: true
```
Compose 不会创建网络,直接使用已存在的 `portainer_network`
**方案 B删除旧资源干净重建**
```bash
# 1. 查看网络
docker network ls | grep portainer
# 2. 查看是否有容器正在使用
docker network inspect portainer_network --format '{{range .Containers}}{{.Name}} {{end}}'
# 3. 断开仍连接的网络(如果有)
docker network disconnect portainer_network <container>
# 4. 删除网络
docker network rm portainer_network
# 5. 重新 up
docker compose up -d
```
---
### WARN 2: Volume 已存在但属于另一个 Compose 项目
**典型警告信息**
```
WARNING: Volume portainer_data exists but was not created for service 'portainer'.
It will not be used.
```
**根因分析**
- 之前用不同的项目名部署过 Portainer创建了旧卷`portainer_portainer_data`
- 新 compose 声明的卷名(如 `portainer_data`)是不同命名前缀下的卷
- Docker 认为旧卷不是为当前服务创建的,可能不兼容
**解决方案**
**方案 A复用旧卷数据保留**
```yaml
volumes:
portainer_data:
external: true
```
**方案 B删除旧卷数据丢失风险**
```bash
# 1. 查看所有 portainer 相关卷
docker volume ls | grep portainer
# 2. 查看卷详细信息
docker volume inspect portainer_portainer_data
# 3. 删除旧卷(注意:会丢失数据)
docker volume rm portainer_portainer_data
# 4. 重新 up
docker compose up -d
```
**⚠️ 警告**:删除 Volume 会永久丢失数据。删除前确认是否需要保留数据。
---
### WARN 3: Found Orphan Containers
**典型警告信息**
```
WARNING: Found orphan containers ([portainer]) for this project.
```
**根因**compose 文件中删除了某个服务定义,但对应的容器仍存在于 Docker 中。
**解决方案**
```bash
# 方案 A删除孤儿容器
docker rm portainer
# 方案 B撤销 compose 文件修改,恢复服务定义
```
---
## Prevention Best Practices
### 1. 使用固定的项目名
```bash
# 指定项目名,避免目录名作为前缀
docker compose -p my-app up -d
# 或在 .env 文件中固定
COMPOSE_PROJECT_NAME=my-app
```
### 2. 在部署前先清理
```bash
# 干净部署前先停止并删除
docker compose down
docker compose up -d
```
### 3. 统一使用 external: true
对于已存在资源的场景,统一在 compose 中声明 `external: true`
```yaml
volumes:
portainer_data:
external: true
networks:
portainer_network:
external: true
```
### 4. 使用一致的目录名
避免频繁变更 compose 文件所在目录,防止命名前缀混乱。
## Troubleshooting Flowchart
```
出现 WARN 警告
识别警告类型Network / Volume / Container
确认是否需要保留旧资源的数据
├─ 需要保留 → 改用 external: true
└─ 不需要保留 → 删除旧资源后重新 up
```
## Related Concepts
- [[Docker Compose]] — compose 文件中的 external 声明
- [[Docker卷]] — Volume 的生命周期
- [[Docker Network]] — Network 的生命周期
- [[Docker容器生命周期管理]] — 容器的 CRUD 操作
## Related Entities
- [[Portainer]] — 常见产生警告的容器应用
## See Also
- [[如何删除旧的废弃的docker-container-volume]] — 完整实操记录