Dockerfile (4) - Instrucción detallada de EJECUTAR

CORRER

ejecutar comando

forma de concha

  • El comando se ejecuta en el shell.
  • En Linux, el valor predeterminado es /bin/sh -c
  • cmd /S /C en Windows
RUN <command>

formulario ejecutivo

RUN ["executable", "param1", "param2"] 

Deben ser comillas dobles, no comillas simples

Castañas reales escritas de dos maneras

RUN /bin/bash -c 'source $HOME/.bashrc; echo $HOME'

RUN ["/bin/bash", "-c", "echo hello"]

Principio de la instrucción RUN

  • El comando EJECUTAR agregará una nueva capa en la imagen actual, ejecutará cualquier comando y enviará los resultados, y la imagen de envío generada se usará para los pasos posteriores en el Dockfile.
  • Las instrucciones EJECUTAR jerárquicas y los envíos generados se ajustan al concepto central de Docker , el costo de envío es bajo y los contenedores se pueden crear a través de cualquier paso en el historial de Docker , al igual que el control de código git

Usar \ en modo shell

Una sola instrucción RUN puede continuar a la siguiente línea, lo que equivale a ejecutar dos comandos

RUN /bin/bash -c 'source $HOME/.bashrc; \
echo $HOME'

Usar variables de entorno en modo exec

# 错误写法,不会使用 HOME 环境变量
RUN [ "echo", "$HOME" ]

# 正确写法,需要将 echo 和使用环境变量放一起
RUN [ "sh", "-c", "echo $HOME" ]

 

Supongo que te gusta

Origin blog.csdn.net/NHB456789/article/details/130900746
Recomendado
Clasificación