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" ]