最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

bash - Dockerfile split ARG string to form new environment variables - Stack Overflow

programmeradmin5浏览0评论

How can I split string in ARG in Dockerfile to form new ENVs?

ARG MYVAR
ENV credentials ${MYVAR//\// }
ENV USER ${credentials[0]}
ENV PASSWORD ${credentials[1]}
CMD echo USER: $USER PASSWORD: $PASSWORD

When I build, I run into error:

Step 4/7 : ENV credentials ${MYVAR//\// }
 ---> Using cache
 ---> 5c56d29448de
Step 5/7 : ENV USER ${credentials[0]}
failed to process "${credentials[0]}": unsupported modifier ([) in substitution

How can I split string in ARG in Dockerfile to form new ENVs?

ARG MYVAR
ENV credentials ${MYVAR//\// }
ENV USER ${credentials[0]}
ENV PASSWORD ${credentials[1]}
CMD echo USER: $USER PASSWORD: $PASSWORD

When I build, I run into error:

Step 4/7 : ENV credentials ${MYVAR//\// }
 ---> Using cache
 ---> 5c56d29448de
Step 5/7 : ENV USER ${credentials[0]}
failed to process "${credentials[0]}": unsupported modifier ([) in substitution
Share Improve this question asked Mar 24 at 6:15 khtehkhteh 4,05210 gold badges59 silver badges104 bronze badges 1
  • 1 Isn't using additional shell script in your Dockerfile an option to split strings? – 3aska Commented Mar 26 at 14:03
Add a comment  | 

1 Answer 1

Reset to default 0
ARG CREDENTIALS
ARG user="${CREDENTIALS%/*}"
ARG password="${CREDENTIALS#*/}"
ENV USER $user
ENV PASSWORD $password
发布评论

评论列表(0)

  1. 暂无评论