【问题标题】:Access argument from docker build inside script从脚本内部的 docker build 访问参数
【发布时间】:2022-10-14 18:10:00
【问题描述】:

所以在 dockerfile 我正在运行入口点:

ARG WP_IMAGE=latest
FROM wordpress:$WP_IMAGE

ARG VERSION

RUN curl -o /usr/local/bin/wp https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar \
    && chmod +x /usr/local/bin/wp

RUN apt update && apt install -y vim

ADD ./bin/ /
RUN chmod +x /*.sh

ENTRYPOINT ["/entrypoint.sh"]
CMD ["apache2-foreground"]

我有这个脚本entrypoint.sh

#!/bin/bash

/usr/local/bin/docker-entrypoint.sh php-fpm || /configure.sh

exec "$@"

还有configure.sh 脚本,在这个脚本中我想从Dockerfile VERSION 访问这个参数。
这就是我构建 docker docker-compose build --build-arg WP_IMAGE=latest --build-arg VERSION=7.0 && docker-compose up -d 的方式。

【问题讨论】:

    标签: bash docker


    【解决方案1】:

    您可以在 Dockerfile 中使用 ENV 关键字,例如:

    ARG VERSION
    ENV VERSION=${VERSION}
    

    现在镜像中运行的脚本可以从环境中访问VERSION

    ENV 指令将环境变量设置为值 .使用 ENV 设置的环境变量将在 容器从生成的图像运行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-18
      • 2021-05-29
      • 1970-01-01
      • 2021-01-03
      • 1970-01-01
      • 2021-04-02
      • 2016-02-22
      • 1970-01-01
      相关资源
      最近更新 更多