• Почему Dockerfile видит одну переменную, но не видит вторую?

    Lynn
    @Lynn
    nginx, js, css
    https://docs.docker.com/engine/reference/builder/#...

    ARG объявленные до FROM попадают в global scope. И на практике их можно использовать напрямую только в FROM.
    Что бы их было видно внутри сборки их нужно заново объявить внутри сборки.

    # Arguments.
    ARG NGINX_VERSION
    ARG APP_CODE_PATH_CONTAINER
    
    # Install nginx.
    FROM nginx:${NGINX_VERSION}-alpine
    
    # Load scripts.
    COPY scripts/* /tmp/scripts/
    RUN chmod -R 777 /tmp/scripts/
    
    # объявляем ещё раз. Как можно ближе к реальному месту использования что бы не испортить кеширование директив выше.
    ARG APP_CODE_PATH_CONTAINER
    
    # Modify configuration.
    RUN /tmp/scripts/modify_config.sh /etc/nginx/conf.d/default.conf "__NGINX_ROOT" ${APP_CODE_PATH_CONTAINER};
    
    ...
    Ответ написан
    Комментировать