Do not refer to an environment variable within the same ENV

This product is not supported for your selected Datadog site. ().
이 페이지는 아직 영어로 제공되지 않습니다. 번역 작업 중입니다.
현재 번역 프로젝트에 대한 질문이나 피드백이 있으신 경우 언제든지 연락주시기 바랍니다.

Metadata

ID: docker-best-practices/env-no-refer-envvar

Language: Docker

Severity: Info

Category: Best Practices

Description

This rule advises against referencing an environment variable within the same ENV instruction in a Dockerfile. For example, writing ENV FOO=bar \ BAZ=$FOO/bla is problematic because the Docker build process does not expand environment variables declared in the same ENV command.

To avoid this issue, declare each environment variable in a separate ENV instruction if you need to reference a previously set variable. For instance, use ENV FOO=bar followed by ENV BAZ=${FOO}/bla. This ensures that FOO is properly set and expanded when BAZ is defined, leading to more reliable and predictable builds.

Non-Compliant Code Examples

ENV FOO=bar \
    BAZ=$FOO/baz
ENV FOO=bar \
    BAZ=${FOO}/baz

Compliant Code Examples

ENV FOO=bar
ENV BAZ=${FOO}/baz
https://static.datadoghq.com/static/images/logos/github_avatar.svg https://static.datadoghq.com/static/images/logos/vscode_avatar.svg jetbrains

원활한 통합. Datadog Code Security를 경험해 보세요