Docker 配置文件的生效顺序如下:
命令行参数:通过命令行参数传递的配置会覆盖所有其他设置。
环境变量:如果没有指定命令行参数,则 Docker 会查看环境变量并使用其中的值。例如,你可以通过以下方式设置代理环境变量:
export http_proxy=http://your-proxy-ip:proxy-port
Dockerfile 中的指令:Dockerfile 中包含一些指令,例如
ENV
和ARG
,用于设置容器中运行时使用的环境变量和构建参数。容器内部的默认值:如果以上任何选项都未指定某个配置,则 Docker 将使用容器内部默认值。
注意,不同类型的配置文件具有不同的优先级。例如,当多个 Docker Compose 文件在一个目录中时,Docker Compose 的默认行为是将它们合并成一个文件,并按照以下顺序处理它们:
docker-compose.yml
docker-compose.override.yml(如果存在)
根据
COMPOSE_FILE
环境变量指定的其他文件(以冒号分隔)。
因此,在这种情况下,后面定义的配置会覆盖之前定义的配置。