btw, openshift will happily substitute your FROM statement w/ an image
referenced by your BuildConfig, so if that's your goal, perhaps that is a
way to accomplish it.

https://docs.openshift.org/latest/dev_guide/builds/build_strategies.html#docker-strategy-from

On Wed, Feb 7, 2018 at 9:48 AM, Ben Parees <[email protected]> wrote:

>
>
> On Wed, Feb 7, 2018 at 6:59 AM, Dan Pungă <[email protected]> wrote:
>
>> Hello all!
>> I've recently discovered and join this mailing list; hope I'm in the
>> right place.
>> I'm new to the OShift ecosystem, currently trying to develop a
>> configuration to containerize some apps. I'm using minishift local cluster
>> on a Ubuntu 16.04 machine (details below).
>>
>> I want to write a parametrized yaml template to configure the build
>> process for my layers (those with a dockerStrategy) with using(or, better
>> said connecting to ) the arguments defined in my Dockerfiles. I have found
>> that OShift doesn't support ARG instructions prior to the FROM one when it
>> reads the Dockerfile.
>>
>
> you sure even docker supports that?  It's not working for me:
>
> this works (just using an arg generically and echoing it out):
>
> $ cat Dockerfile
> FROM centos
> ARG OS_name="centos"
>
> RUN echo $OS_name
> RUN exit 1
>
> $ docker build --build-arg OS_name=centos .
> Sending build context to Docker daemon 2.048 kB
> Step 1/4 : FROM centos
>  ---> ff426288ea90
> Step 2/4 : ARG OS_name="centos"
>  ---> Using cache
>  ---> 59f6494cb002
> Step 3/4 : RUN echo $OS_name
>  ---> Running in 092e2600490e
>
> *centos* ---> 8a3f570a033c
> Removing intermediate container 092e2600490e
> Step 4/4 : RUN exit 1
>  ---> Running in 543cefc9eab8
> The command '/bin/sh -c exit 1' returned a non-zero code: 1
>
> This does not (not even referencing the arg in my FROM, just putting the
> ARG before FROM):
> $ cat Dockerfile
> ARG OS_name="centos"
> FROM centos
>
> RUN echo $OS_name
> RUN exit 1
>
> $ docker build --build-arg OS_name=centos .
> Sending build context to Docker daemon 2.048 kB
> Step 1/4 : ARG OS_name="centos"
> Please provide a source image with `from` prior to commit
>
>
>
> So i think this is a docker restriction, not an openshift one.
>
>
> So, even if a docker build would run successfully with something like:
>>
>> ARG OS_name="centos"
>> ARG OS_version="6.8"
>>
>> FROM ${OS_name}:${OS_version}
>> #....rest of Dockerfile instructions...
>>
>> if I try to define in my yaml config
>> strategy:
>>   dockerStrategy:
>>     buildArgs:
>>     - name: OS_name
>>       value: "7"
>>
>> the build process does not work.
>>
>> Has anyone else come across this issue and how did you get around it?
>> What I'm trying to achieve is single configuration structure for multiple
>> versions, so I wouldn't have to write separate Docker configs for different
>> app versions. For example building a Java JRE layer on top of different OSs
>> with one file.
>> Thank you,
>> Dan
>>
>> PS: The closest thread regarding this issue that I've found in the
>> archive is https://lists.openshift.redhat.com/openshift-archives/users/
>> 2017-January/msg00104.html
>>
>> Running env details:
>>
>> oc version
>> oc v3.6.0+c4dd4cf
>> kubernetes v1.6.1+5115d708d7
>> features: Basic-Auth GSSAPI Kerberos SPNEGO
>>
>> Server https://192.168.99.100:8443
>> openshift v3.6.0+c4dd4cf
>> kubernetes v1.6.1+5115d708d7
>> =========
>>
>> docker@minishift:~$ docker version
>> Client:
>>  Version:      1.12.3
>>  API version:  1.24
>>  Go version:   go1.6.3
>>  Git commit:   6b644ec
>>  Built:        Wed Oct 26 23:26:11 2016
>>  OS/Arch:      linux/amd64
>>
>> Server:
>>  Version:      1.12.3
>>  API version:  1.24
>>  Go version:   go1.6.3
>>  Git commit:   6b644ec
>>  Built:        Wed Oct 26 23:26:11 2016
>>  OS/Arch:      linux/amd64
>>
>>
>> _______________________________________________
>> users mailing list
>> [email protected]
>> http://lists.openshift.redhat.com/openshiftmm/listinfo/users
>>
>>
>
>
> --
> Ben Parees | OpenShift
>
>


-- 
Ben Parees | OpenShift
_______________________________________________
users mailing list
[email protected]
http://lists.openshift.redhat.com/openshiftmm/listinfo/users

Reply via email to