mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-08-10 16:37:34 +00:00
Add Docker Scout, remove deprecated type_name
This commit is contained in:
@@ -13,12 +13,12 @@
|
|||||||
例如,使用 `curl` 工具下载压缩包,并解压。
|
例如,使用 `curl` 工具下载压缩包,并解压。
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ curl -L https://github.com/etcd-io/etcd/releases/download/v3.5.29/etcd-v3.5.29-linux-amd64.tar.gz -o etcd-v3.5.29-linux-amd64.tar.gz
|
$ curl -L https://github.com/etcd-io/etcd/releases/download/v3.5.21/etcd-v3.5.21-linux-amd64.tar.gz -o etcd-v3.5.21-linux-amd64.tar.gz
|
||||||
|
|
||||||
## 国内用户可选择就近的网络加速方式(以可用镜像站为准)
|
## 国内用户可选择就近的网络加速方式(以可用镜像站为准)
|
||||||
|
|
||||||
$ tar xzvf etcd-v3.5.29-linux-amd64.tar.gz
|
$ tar xzvf etcd-v3.5.21-linux-amd64.tar.gz
|
||||||
$ cd etcd-v3.5.29-linux-amd64
|
$ cd etcd-v3.5.21-linux-amd64
|
||||||
```
|
```
|
||||||
解压后,可以看到文件包括
|
解压后,可以看到文件包括
|
||||||
|
|
||||||
@@ -65,8 +65,8 @@ $ docker run \
|
|||||||
-p 2379:2379 \
|
-p 2379:2379 \
|
||||||
-p 2380:2380 \
|
-p 2380:2380 \
|
||||||
--mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
|
--mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
|
||||||
--name etcd-gcr-v3.5.29 \
|
--name etcd-gcr-v3.5.21 \
|
||||||
quay.io/coreos/etcd:v3.5.29 \
|
quay.io/coreos/etcd:v3.5.21 \
|
||||||
/usr/local/bin/etcd \
|
/usr/local/bin/etcd \
|
||||||
--name s1 \
|
--name s1 \
|
||||||
--data-dir /etcd-data \
|
--data-dir /etcd-data \
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
services:
|
services:
|
||||||
|
|
||||||
node1:
|
node1:
|
||||||
image: quay.io/coreos/etcd:v3.5.29
|
image: quay.io/coreos/etcd:v3.5.21
|
||||||
volumes:
|
volumes:
|
||||||
- node1-data:/etcd-data
|
- node1-data:/etcd-data
|
||||||
expose:
|
expose:
|
||||||
@@ -40,7 +40,7 @@ services:
|
|||||||
- docker-etcd
|
- docker-etcd
|
||||||
|
|
||||||
node2:
|
node2:
|
||||||
image: quay.io/coreos/etcd:v3.5.29
|
image: quay.io/coreos/etcd:v3.5.21
|
||||||
volumes:
|
volumes:
|
||||||
- node2-data:/etcd-data
|
- node2-data:/etcd-data
|
||||||
networks:
|
networks:
|
||||||
@@ -72,7 +72,7 @@ services:
|
|||||||
- docker-etcd
|
- docker-etcd
|
||||||
|
|
||||||
node3:
|
node3:
|
||||||
image: quay.io/coreos/etcd:v3.5.29
|
image: quay.io/coreos/etcd:v3.5.21
|
||||||
volumes:
|
volumes:
|
||||||
- node3-data:/etcd-data
|
- node3-data:/etcd-data
|
||||||
networks:
|
networks:
|
||||||
|
|||||||
@@ -94,16 +94,27 @@ snyk container test docker-archive://image.tar
|
|||||||
# 监控仓库
|
# 监控仓库
|
||||||
snyk monitor --docker
|
snyk monitor --docker
|
||||||
```
|
```
|
||||||
|
此外,Docker 官方提供的 **Docker Scout**(`docker scout` CLI)可以直接在 Docker Desktop 或命令行中对镜像进行漏洞扫描和依赖分析,适合日常开发流程中快速检查:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 扫描本地镜像
|
||||||
|
$ docker scout cves myapp:latest
|
||||||
|
|
||||||
|
# 查看镜像的依赖和漏洞摘要
|
||||||
|
$ docker scout quickview myapp:latest
|
||||||
|
```
|
||||||
|
|
||||||
**工具对比表:**
|
**工具对比表:**
|
||||||
|
|
||||||
| 特性 | Trivy | Grype | Snyk |
|
| 特性 | Docker Scout | Trivy | Grype | Snyk |
|
||||||
|------|-------|-------|------|
|
|------|-------------|-------|-------|------|
|
||||||
| 零依赖 | ✓ | ✗ | ✗ |
|
| Docker 集成 | ✓(原生) | 需安装 | 需安装 | 需安装 |
|
||||||
| 离线模式 | ✓ | ✓ | ✗ |
|
| 零依赖 | ✗ | ✓ | ✗ | ✗ |
|
||||||
| 许可证扫描 | ✗ | ✓ | ✓ |
|
| 离线模式 | ✗ | ✓ | ✓ | ✗ |
|
||||||
| 自动修复 | ✗ | ✗ | ✓ |
|
| 许可证扫描 | ✓ | ✗ | ✓ | ✓ |
|
||||||
| 开源免费 | ✓ | ✓ | 部分 |
|
| 自动修复建议 | ✓ | ✗ | ✗ | ✓ |
|
||||||
| IDE 集成 | ✓ | ✓ | ✓ |
|
| 开源免费 | 部分 | ✓ | ✓ | 部分 |
|
||||||
|
| IDE 集成 | ✓ | ✓ | ✓ | ✓ |
|
||||||
|
|
||||||
### 18.6.2 SBOM(软件物料清单)生成与管理
|
### 18.6.2 SBOM(软件物料清单)生成与管理
|
||||||
|
|
||||||
@@ -530,6 +541,7 @@ push:
|
|||||||
**Q: 扫描报告中有过时的 CVE,如何处理?**
|
**Q: 扫描报告中有过时的 CVE,如何处理?**
|
||||||
|
|
||||||
A: 某些 CVE 可能已经被修复但数据库未更新,可以:
|
A: 某些 CVE 可能已经被修复但数据库未更新,可以:
|
||||||
|
|
||||||
- 手动验证安全补丁是否已应用
|
- 手动验证安全补丁是否已应用
|
||||||
- 使用工具的忽略列表功能(如 Trivy 的 `.trivyignore`)
|
- 使用工具的忽略列表功能(如 Trivy 的 `.trivyignore`)
|
||||||
- 定期更新扫描工具和漏洞数据库
|
- 定期更新扫描工具和漏洞数据库
|
||||||
@@ -537,6 +549,7 @@ A: 某些 CVE 可能已经被修复但数据库未更新,可以:
|
|||||||
**Q: 如何平衡镜像大小和安全性?**
|
**Q: 如何平衡镜像大小和安全性?**
|
||||||
|
|
||||||
A:
|
A:
|
||||||
|
|
||||||
- 使用多阶段构建减少最终镜像大小
|
- 使用多阶段构建减少最终镜像大小
|
||||||
- 使用精简基础镜像(Alpine、Distroless)
|
- 使用精简基础镜像(Alpine、Distroless)
|
||||||
- 定期更新依赖而不是一味求小
|
- 定期更新依赖而不是一味求小
|
||||||
@@ -545,6 +558,7 @@ A:
|
|||||||
**Q: 如何管理和轮换签名密钥?**
|
**Q: 如何管理和轮换签名密钥?**
|
||||||
|
|
||||||
A:
|
A:
|
||||||
|
|
||||||
- 在密钥管理系统(如 HashiCorp Vault)中存储密钥
|
- 在密钥管理系统(如 HashiCorp Vault)中存储密钥
|
||||||
- 定期轮换密钥(建议每 90 天)
|
- 定期轮换密钥(建议每 90 天)
|
||||||
- 使用 Keyless 签名消除密钥管理复杂性
|
- 使用 Keyless 签名消除密钥管理复杂性
|
||||||
|
|||||||
@@ -94,7 +94,6 @@ networks:
|
|||||||
logstash_prefix docker
|
logstash_prefix docker
|
||||||
logstash_dateformat %Y%m%d
|
logstash_dateformat %Y%m%d
|
||||||
include_tag_key true
|
include_tag_key true
|
||||||
type_name access_log
|
|
||||||
tag_key @log_name
|
tag_key @log_name
|
||||||
flush_interval 1s
|
flush_interval 1s
|
||||||
</store>
|
</store>
|
||||||
|
|||||||
Reference in New Issue
Block a user