Paso de parámetros de compilación de varias etapas de Dockerfile

Paso de parámetros de compilación de varias etapas de Dockerfile

archivo acoplable

 
 
ARG SVC1
ARG SVC2

##### BUILD STAGE
FROM mcr.microsoft.com/dotnet/sdk:3.1 AS BUILD
ARG SVC1

WORKDIR /workspace

RUN mkdir ${SVC1}

##### RUN STAGE
FROM mcr.microsoft.com/dotnet/aspnet:3.1
ARG SVC2
ENV SVC2=${SVC2}

COPY --from=BUILD /workspace /workspace

WORKDIR /workspace

RUN mkdir ${SVC2}

  • ARG declara los parámetros pasados
  • FROM separa diferentes fases de construcción
  • Los ARG deben declararse antes de que puedan usarse en diferentes fases de construcción.

  • COPY --from=BUILDCopiar desde la etapa BUILD
ARG SVC
FROM mcr.microsoft.com/dotnet/sdk:3.1 AS BUILD
ARG SVC
...
FROM mcr.microsoft.com/dotnet/aspnet:3.1
ARG SVC
...

imagen de compilación de compilación de Docker

docker build -t test --build-arg SVC1="text1" --build-arg SVC2="text2" .

--build-arg KEY="VAL"Pasar parámetros a través de

docker run inicia el contenedor y entra al shell

[root@localhost ~]# docker run -it test /bin/bash

Revisa el contenedor para ver los resultados.

Compruebe si el directorio está creado.

root@0cc3f0c70904:/workspace# ls

text1 text2            ##### BUILD STAGE & RUN STAGE 创建的东西都在

Comprobar si se crean variables de entorno

root@0cc3f0c70904:/workspace# env
HOSTNAME=0cc3f0c70904
ASPNETCORE_URLS=http://+:80
PWD=/workspace
HOME=/root
TERM=xterm
SHLVL=1
SVC2=text2							##### 环境变量OK
DOTNET_RUNNING_IN_CONTAINER=true
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
_=/usr/bin/env

Supongo que te gusta

Origin blog.csdn.net/yangyangye/article/details/132343403
Recomendado
Clasificación