mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-03-11 04:14:38 +00:00
Add more content and fix format
This commit is contained in:
@@ -2,8 +2,6 @@
|
||||
|
||||
### 7.7.1 基本语法
|
||||
|
||||
如下代码块所示,展示了相关示例:
|
||||
|
||||
```docker
|
||||
ARG <参数名>[=<默认值>]
|
||||
```
|
||||
@@ -37,8 +35,6 @@ ARG <参数名>[=<默认值>]
|
||||
|
||||
#### 定义和使用
|
||||
|
||||
如下代码块所示,展示了相关示例:
|
||||
|
||||
```docker
|
||||
## 定义有默认值的 ARG
|
||||
|
||||
@@ -68,8 +64,6 @@ $ docker build --build-arg NODE_VERSION=18 -t myapp .
|
||||
|
||||
#### FROM 之前的 ARG
|
||||
|
||||
如下代码块所示,展示了相关示例:
|
||||
|
||||
```docker
|
||||
## FROM 之前的 ARG 只能用于 FROM 指令
|
||||
|
||||
@@ -85,8 +79,6 @@ RUN echo $REGISTRY # 输出空
|
||||
|
||||
#### FROM 之后重新声明
|
||||
|
||||
如下代码块所示,展示了相关示例:
|
||||
|
||||
```docker
|
||||
ARG NODE_VERSION=20
|
||||
|
||||
@@ -100,8 +92,6 @@ RUN echo "Node version: $NODE_VERSION"
|
||||
|
||||
#### 多阶段构建中的 ARG
|
||||
|
||||
如下代码块所示,展示了相关示例:
|
||||
|
||||
```docker
|
||||
ARG BASE_VERSION=alpine
|
||||
|
||||
@@ -124,8 +114,6 @@ RUN echo "Running with Node $NODE_VERSION"
|
||||
|
||||
#### 1. 控制基础镜像版本
|
||||
|
||||
如下代码块所示,展示了相关示例:
|
||||
|
||||
```docker
|
||||
ARG ALPINE_VERSION=3.19
|
||||
FROM alpine:${ALPINE_VERSION}
|
||||
@@ -137,8 +125,6 @@ $ docker build --build-arg ALPINE_VERSION=3.18 .
|
||||
|
||||
#### 2. 设置软件版本
|
||||
|
||||
如下代码块所示,展示了相关示例:
|
||||
|
||||
```docker
|
||||
ARG NGINX_VERSION=1.25.0
|
||||
|
||||
@@ -147,8 +133,6 @@ RUN curl -fsSL https://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz | tar -x
|
||||
|
||||
#### 3. 配置构建环境
|
||||
|
||||
如下代码块所示,展示了相关示例:
|
||||
|
||||
```docker
|
||||
ARG BUILD_ENV=production
|
||||
ARG ENABLE_DEBUG=false
|
||||
@@ -162,8 +146,6 @@ RUN if [ "$ENABLE_DEBUG" = "true" ]; then \
|
||||
|
||||
#### 4. 配置私有仓库
|
||||
|
||||
如下代码块所示,展示了相关示例:
|
||||
|
||||
```docker
|
||||
ARG NPM_TOKEN
|
||||
|
||||
@@ -221,8 +203,6 @@ $ docker build --build-arg HTTP_PROXY=http://proxy:8080 .
|
||||
|
||||
#### 1. 为 ARG 提供合理默认值
|
||||
|
||||
如下代码块所示,展示了相关示例:
|
||||
|
||||
```docker
|
||||
## ✅ 好:有默认值
|
||||
|
||||
@@ -235,8 +215,6 @@ ARG NODE_VERSION
|
||||
|
||||
#### 2. 不要用 ARG 存储敏感信息
|
||||
|
||||
如下代码块所示,展示了相关示例:
|
||||
|
||||
```docker
|
||||
## ❌ 错误:密码会被记录在镜像历史中
|
||||
|
||||
@@ -250,8 +228,6 @@ RUN echo "password=$DB_PASSWORD" > /app/.env
|
||||
|
||||
#### 3. 使用 ARG 提高构建灵活性
|
||||
|
||||
如下代码块所示,展示了相关示例:
|
||||
|
||||
```docker
|
||||
ARG BASE_IMAGE=python:3.12-slim
|
||||
FROM ${BASE_IMAGE}
|
||||
|
||||
Reference in New Issue
Block a user