Compare commits

...
4 Commits
13 changed files with 20 additions and 20 deletions
+1 -1
View File
@@ -172,7 +172,7 @@ registry.example.com/myproject/myapp:v1.2.3
## 简写(使用 Docker Hub ## 简写(使用 Docker Hub
nginx:1.30 nginx:1.28
ubuntu:24.04 ubuntu:24.04
## 省略标签(默认使用 latest) ## 省略标签(默认使用 latest)
+3 -3
View File
@@ -1,6 +1,6 @@
## 2.3 仓库 ## 2.3 仓库
> **版本说明**本节示例基于 Docker v29.x 和常见镜像版本编写示例中的版本号 `nginx:1.30``mysql:8.0``mysql:5.7` 为演示用途实际使用时请访问 [Docker Hub 官方页面](https://hub.docker.com) 或相应镜像的发布页确认最新可用版本和标签。 > **版本说明**本节示例基于 Docker v29.x 和常见镜像版本编写示例中的版本号 `nginx:1.28``mysql:8.0``mysql:5.7` 为演示用途实际使用时请访问 [Docker Hub 官方页面](https://hub.docker.com) 或相应镜像的发布页确认最新可用版本和标签。
Docker Registry 是镜像分发和管理的核心组件本节将介绍 Registry 的基本概念公共和私有服务的选择以及镜像的安全管理 Docker Registry 是镜像分发和管理的核心组件本节将介绍 Registry 的基本概念公共和私有服务的选择以及镜像的安全管理
@@ -73,7 +73,7 @@ registry.example.com/mycompany/myapp:v1.2.3
## Docker Hub 官方镜像(省略 registry 和用户名) ## Docker Hub 官方镜像(省略 registry 和用户名)
nginx:1.30 nginx:1.28
ubuntu:24.04 ubuntu:24.04
## Docker Hub 用户镜像 ## Docker Hub 用户镜像
@@ -217,7 +217,7 @@ $ docker login registry.example.com # 登录其他 Registry
## 拉取镜像 ## 拉取镜像
$ docker pull nginx:1.30 $ docker pull nginx:1.28
## 标记镜像(准备推送) ## 标记镜像(准备推送)
+1 -1
View File
@@ -34,7 +34,7 @@ Starting ──成功──> Healthy ──失败N次──> Unhealthy
#### Web 服务检查 #### Web 服务检查
```docker ```docker
# 注:nginx 镜像推荐使用具体的版本标签(如 nginx:1.30-alpine # 注:nginx 镜像推荐使用具体的版本标签(如 nginx:1.28-alpine
FROM nginx FROM nginx
RUN apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/* RUN apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/*
+1 -1
View File
@@ -176,5 +176,5 @@ $ docker build --target builder -t username/imagename:tag .
上面例子中我们使用 `COPY --from=0 /go/src/github.com/go/helloworld/app .` 从上一阶段的镜像中复制文件我们也可以复制任意镜像中的文件 上面例子中我们使用 `COPY --from=0 /go/src/github.com/go/helloworld/app .` 从上一阶段的镜像中复制文件我们也可以复制任意镜像中的文件
```docker ```docker
COPY --from=nginx:1.30-alpine /etc/nginx/nginx.conf /nginx.conf COPY --from=nginx:1.28-alpine /etc/nginx/nginx.conf /nginx.conf
``` ```
@@ -128,8 +128,8 @@ RUN set -x ; cd ${LARAVEL_PATH} \
### 7.18.5 最后一个阶段构建 NGINX 镜像 ### 7.18.5 最后一个阶段构建 NGINX 镜像
```docker ```docker
# 注:nginx 镜像推荐使用具体的版本标签(如 nginx:1.30-alpine # 注:nginx 镜像推荐使用具体的版本标签(如 nginx:1.28-alpine
FROM nginx:1.30-alpine as nginx FROM nginx:1.28-alpine as nginx
ARG LARAVEL_PATH=/app/laravel ARG LARAVEL_PATH=/app/laravel
@@ -179,7 +179,7 @@ $ docker run -dit --rm --network=laravel -p 8080:80 my/nginx
完整的 `Dockerfile` 文件如下 完整的 `Dockerfile` 文件如下
```docker ```docker
# 注:生产环境推荐使用具体的版本标签,如 node:20-alpine、composer:2.x、php:8.3-fpm-alpine、nginx:1.30-alpine # 注:生产环境推荐使用具体的版本标签,如 node:20-alpine、composer:2.x、php:8.3-fpm-alpine、nginx:1.28-alpine
FROM node:20-alpine as frontend FROM node:20-alpine as frontend
COPY package.json /app/ COPY package.json /app/
@@ -229,7 +229,7 @@ RUN set -x ; cd ${LARAVEL_PATH} \
&& chmod -R 777 storage \ && chmod -R 777 storage \
&& php artisan package:discover && php artisan package:discover
FROM nginx:1.30-alpine as nginx FROM nginx:1.28-alpine as nginx
ARG LARAVEL_PATH=/app/laravel ARG LARAVEL_PATH=/app/laravel
@@ -47,7 +47,7 @@ RUN set -x ; cd ${LARAVEL_PATH} \
&& chmod -R 777 storage \ && chmod -R 777 storage \
&& php artisan package:discover && php artisan package:discover
FROM nginx:1.25-alpine as nginx FROM nginx:1.28-alpine as nginx
ARG LARAVEL_PATH=/app/laravel ARG LARAVEL_PATH=/app/laravel
+1 -1
View File
@@ -2,7 +2,7 @@
Docker Buildx 是一个 docker CLI 插件其扩展了 docker 命令支持 [Moby BuildKit](10.1_buildkit.md) 提供的功能提供了与 docker build 相同的用户体验并增加了许多新功能 Docker Buildx 是一个 docker CLI 插件其扩展了 docker 命令支持 [Moby BuildKit](10.1_buildkit.md) 提供的功能提供了与 docker build 相同的用户体验并增加了许多新功能
> Buildx 需要 Docker v19.03+ Docker 19.03 及以上版本在较新版本中已更常用且功能更完整 > Buildx 需要 Docker v23.0+该版本起 BuildKit 成为默认构建引擎推荐使用 Docker v28 及以上版本以获得最完整的 Buildx 功能支持
## 本章内容 ## 本章内容
+1 -1
View File
@@ -166,7 +166,7 @@ spec:
spec: spec:
containers: containers:
- name: nginx - name: nginx
image: nginx:1.30 image: nginx:1.28
ports: ports:
- containerPort: 80 - containerPort: 80
``` ```
+2 -2
View File
@@ -31,7 +31,7 @@ spec:
spec: spec:
containers: containers:
- name: nginx - name: nginx
image: nginx:1.30 image: nginx:1.28
ports: ports:
- containerPort: 80 - containerPort: 80
``` ```
@@ -73,7 +73,7 @@ kubectl get svc nginx-service
### 13.5.4 步骤 3模拟滚动更新 ### 13.5.4 步骤 3模拟滚动更新
修改 `nginx-deployment.yaml`将镜像版本改为 `nginx:1.30-alpine` 修改 `nginx-deployment.yaml`将镜像版本改为 `nginx:1.28-alpine`
```bash ```bash
kubectl apply -f nginx-deployment.yaml kubectl apply -f nginx-deployment.yaml
+1 -1
View File
@@ -1,6 +1,6 @@
## 15.1 简介 ## 15.1 简介
> **版本说明** 本章内容基于 etcd 3.5 系列版本编写当前最新 v3.5.x请访问 [etcd 官方发布页](https://github.com/etcd-io/etcd/releases) 获取最新版本信息。 > **版本说明** 本章内容基于 etcd 3.5 系列版本编写官方维护最新两个次版本当前为 3.5 3.6请访问 [etcd 官方发布页](https://github.com/etcd-io/etcd/releases) 获取最新版本信息。
如图 15-1 所示etcd 项目使用该标识 如图 15-1 所示etcd 项目使用该标识
+1 -1
View File
@@ -8,7 +8,7 @@
本章示例中使用的操作系统镜像版本遵循以下原则 本章示例中使用的操作系统镜像版本遵循以下原则
- **AlpineDebianUbuntuCentOS** 等操作系统镜像采用大版本或次版本标签 `alpine:3.21``ubuntu:24.04`避免使用 `latest` 标签确保构建的可再现性 - **AlpineDebianUbuntuCentOS** 等操作系统镜像采用大版本或次版本标签 `alpine:3.21``ubuntu:26.04`避免使用 `latest` 标签确保构建的可再现性
- **OS 大版本保留**以便获得最新的安全补丁和修复 - **OS 大版本保留**以便获得最新的安全补丁和修复
- 在生产环境中建议根据实际需求选择合适的版本并定期更新以获得安全修复 - 在生产环境中建议根据实际需求选择合适的版本并定期更新以获得安全修复
+2 -2
View File
@@ -54,9 +54,9 @@ unit_test:
build_image: build_image:
stage: build stage: build
image: docker:27 image: docker:29
services: services:
- docker:27-dind - docker:29-dind
script: script:
- echo "$CI_REGISTRY_PASSWORD" | docker login -u "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY - echo "$CI_REGISTRY_PASSWORD" | docker login -u "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY
- docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA . - docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA .
+1 -1
View File
@@ -587,7 +587,7 @@ A(要点):
A要点 A要点
```text ```text
1. 选择合适的基础镜像 1. 选择合适的基础镜像
scratch < alpine:3.17 < python:3.14-slim < python:3.14 scratch < alpine:3.21 < python:3.14-slim < python:3.14
2. 多阶段构建 2. 多阶段构建
- 构建阶段只保留编译工具 - 构建阶段只保留编译工具