首页 > 解决方案 > 在 RUN 部分 Dockerfile 中设置环境变量

问题描述

我想创建一个预装 git 的图像,可以在 docker-run 期间登录 Github

docker-run此图像假设通过-e option获取 Github 用户名和命令中的令牌。

例如 :

sudo docker run -it --rm -e "username=parsalotfy" -e "token=secretsecretsecret" -e "email=parsalotfy@gmail.com" gitloggedin

我这样写Dockerfile:

FROM alpine

RUN apk update
RUN apk upgrade
RUN apk add git
RUN git clone https://$username:$token@github.com/$username/$repo.git
RUN cd $repo/
RUN git config user.email $email

COPY entrypoint.sh /entrypoint.sh

ENTRYPOINT ["/entrypoint.sh"]

但是当我想构建这个 Dockerfile 时,会出现这个错误:

在此处输入图像描述

我在这里做错了什么?

我怎样才能让 Github 用户通过-e选项后通过用户名和密码登录docker-run

谢谢你。

标签: dockerbuilddockerfile

解决方案


正如有人在评论中提到的参考链接,您需要在使用之前声明您的环境变量,ENV EMAIL me@example.com或者ENV EMAIL然后使用它


推荐阅读