Issue <https://github.com/docker/cli/issues/940> was on the Docker end. 
Updating to Edge version solved it.

Thanks for your earlier help with outlining 2 solutions to my initial 
problem, Rickard.


On Saturday, 10 March 2018 20:40:25 UTC+1, Rickard von Essen wrote:
>
> Packer v1.1.3-dev (567b566c2+CHANGES)
> macOS High Sierra 10.13.4 (17E160e)
>
> Docker Engine: 18.03.0-ce-rc1
>
> Docker for Mac Version 18.03.0-ce-rc1-mac54 (23022)
>
> Which gives: Linux 3a126b636a9a 4.9.75-linuxkit-aufs #1 SMP Tue Jan 9 
> 10:58:17 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
>
>
>
> On 10 March 2018 at 15:03, Ivan Ribakov <ivan.r...@gmail.com <javascript:>
> > wrote:
>
>> What OS, Docker and Packer versions are you running on? 
>>
>> On Saturday, 10 March 2018 07:48:40 UTC+1, Rickard von Essen wrote:
>>>
>>>  I was exporting the container instead of committing it by builder.
>>>>
>>>
>>> Exporting only dumps the filesystem into a tar, no metadata is included. 
>>>
>>> But as you can see ${PATH} from "changes" is not being resolved (or it 
>>>> is actually empty for some reason).
>>>>
>>>
>>> Seems to work for me:
>>>
>>> $ docker run -it 
>>> sha256:134ccd664a094ef9eea184650fb24dbdad4dc59b44e81ce131d2f126e8638772 
>>> bash -c 'echo $PATH'
>>>
>>> /usr/local/texlive/2018/bin/x86_64-linux/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
>>>
>>>
>>> On 9 March 2018 at 14:50, Ivan Ribakov <ivan.r...@gmail.com> wrote:
>>>
>>>> Thanks Rickard, I understand now why Env was null before - I was 
>>>> exporting the container instead of committing it by builder.
>>>>
>>>> I have changed my builder to the following:
>>>>
>>>> "builders": [{
>>>>   "type": "docker",
>>>>   "image": "{{user `docker_source_repo`}}:{{user `docker_source_tag`}}"
>>>> ,
>>>>   "commit": true,
>>>>     "run_command": [
>>>>     "-d",
>>>>     "-i",
>>>>     "-t",
>>>>     "--name",
>>>>     "{{user `container_name`}}",
>>>>     "--privileged",
>>>>     "{{.Image}}",
>>>>     "/bin/bash"
>>>>   ],
>>>>   "changes": [
>>>>     "ENV PATH=/usr/local/texlive/2018/bin/x86_64-linux/:${PATH}"
>>>>   ]
>>>> }],
>>>>
>>>>
>>>> However, now, "docker inspect" shows following:
>>>>
>>>> "Env": [
>>>>     "PATH=/usr/local/texlive/2018/bin/x86_64-linux/:"
>>>> ],
>>>>
>>>> I took stripped down template from above:
>>>> {
>>>>   "builders": [{
>>>>     "type": "docker",
>>>>     "image": "centos:6",
>>>>     "commit": true,
>>>>     "run_command": [
>>>>       "-d",
>>>>       "-i",
>>>>       "-t",
>>>>       "--privileged",
>>>>       "{{.Image}}",
>>>>       "/bin/bash"
>>>>     ],
>>>>     "changes": [
>>>>       "ENV PATH=/usr/local/texlive/2018/bin/x86_64-linux/:${PATH}"
>>>>     ]
>>>>   }]
>>>> }
>>>>
>>>> and ran:
>>>>
>>>> $ packer build docker.json
>>>> [...]
>>>> ==> Builds finished. The artifacts of successful builds are:
>>>> --> docker: Imported Docker image: sha256:
>>>> 665e385658c14cf0f19fdd584fcbbd18df0f50e281896cc6cae470ec2eee085a
>>>>
>>>>
>>>> $ docker inspect sha256:
>>>> 665e385658c14cf0f19fdd584fcbbd18df0f50e281896cc6cae470ec2eee085a -f 
>>>> "{{.Config.Env}}"
>>>> [PATH=/usr/local/texlive/2018/bin/x86_64-linux/:]
>>>>
>>>> But as you can see ${PATH} from "changes" is not being resolved (or it 
>>>> is actually empty for some reason).
>>>>
>>>> I guess I'm missing something extra this time but I'm not sure where to 
>>>> start looking. Any ideas?
>>>>
>>>> On Friday, 9 March 2018 12:51:27 UTC+1, Rickard von Essen wrote:
>>>>>
>>>>> This works for me:
>>>>>
>>>>> {
>>>>>   "builders": [{
>>>>>   "type": "docker",
>>>>>   "image": "centos:6",
>>>>>   "commit": true,
>>>>>   "run_command": [
>>>>>     "-d",
>>>>>     "-i",
>>>>>     "-t",
>>>>>     "--privileged",
>>>>>     "{{.Image}}",
>>>>>     "/bin/bash"
>>>>>   ],
>>>>>   "changes": [
>>>>>     "ENV PATH=/usr/local/texlive/2018/bin/x86_64-linux/:${PATH}"
>>>>>   ]
>>>>> }]
>>>>> }
>>>>>
>>>>> $ packer build docker.json
>>>>> [...]
>>>>> ==> Builds finished. The artifacts of successful builds are:
>>>>> --> docker: Imported Docker image: 
>>>>> sha256:134ccd664a094ef9eea184650fb24dbdad4dc59b44e81ce131d2f126e8638772
>>>>>
>>>>> $ docker inspect 
>>>>> sha256:134ccd664a094ef9eea184650fb24dbdad4dc59b44e81ce131d2f126e8638772 
>>>>> -f 
>>>>> "{{.Config.Env}}"
>>>>>
>>>>> [PATH=/usr/local/texlive/2018/bin/x86_64-linux/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin]
>>>>>
>>>>>
>>>>>
>>>>> On 9 March 2018 at 12:35, Rickard von Essen <rickard....@gmail.com> 
>>>>> wrote:
>>>>>
>>>>>> However, I would like to use this opportunity to ask if after all 
>>>>>>> there is an alternative to "--changes" that can be performed by one of 
>>>>>>> provisioners. Reason I'm looking for an alternative is that I'm using 
>>>>>>> Ansible playbook to provision both Docker and Vagrant images. My only 
>>>>>>> option for now to set PATH correctly in Docker seems to be to duplicate 
>>>>>>> PATH configuration inside Packer template and I don't like the idea of 
>>>>>>> repeating the configuration for obvious reasons.
>>>>>>>
>>>>>>
>>>>>> You have two options:
>>>>>>
>>>>>> a) Either you use the same provisioner and configure bashrc or 
>>>>>> profile but then you have to invoke them the same, i.e. docker exec 
>>>>>> <container> bash (-l) -c test.sh
>>>>>>
>>>>>> or
>>>>>>
>>>>>> b) Use bashrc or profile in the vagrant image since that is invoking 
>>>>>> bash when you ssh into it and use changes ENV PATH=... to add test.sh to 
>>>>>> the path in the docker image where bash is not automatically invoked by 
>>>>>> docker exec.
>>>>>>   
>>>>>>
>>>>>> On 8 March 2018 at 22:05, Ivan Ribakov <ivan.r...@gmail.com> wrote:
>>>>>>
>>>>>>>  Alvaro: 
>>>>>>>
>>>>>>> I posted this question here because of the Packer way to build 
>>>>>>> Docker images, i.e. without using Dockerfiles. I'm hoping that this 
>>>>>>> place 
>>>>>>> has higher concentration of people who work with Docker without 
>>>>>>> Dockerfiles 
>>>>>>> and as such can help me with my query.
>>>>>>> In case you are wondering, earlier snippet can be replicated using 
>>>>>>> following Packer template 
>>>>>>> <https://gist.github.com/IvanRibakov/fa69cc2fe87d133ff55405d384638f66>
>>>>>>> . 
>>>>>>> P.S. last line in the snippet should be "docker run" not "docker 
>>>>>>> exec".
>>>>>>>
>>>>>>> Rickard:
>>>>>>>
>>>>>>> Thanks again for taking your time today to help me out. Another 
>>>>>>> answer <https://stackoverflow.com/a/49175304/258825> on my SO 
>>>>>>> question already suggested use of "--changes": it is definitely the 
>>>>>>> winning 
>>>>>>> option for me at the moment.
>>>>>>>
>>>>>>> However, I would like to use this opportunity to ask if after all 
>>>>>>> there is an alternative to "--changes" that can be performed by one of 
>>>>>>> provisioners. Reason I'm looking for an alternative is that I'm using 
>>>>>>> Ansible playbook to provision both Docker and Vagrant images. My only 
>>>>>>> option for now to set PATH correctly in Docker seems to be to duplicate 
>>>>>>> PATH configuration inside Packer template and I don't like the idea of 
>>>>>>> repeating the configuration for obvious reasons.
>>>>>>>
>>>>>>> I appreciate that this is not an issue with Packer at all, but as 
>>>>>>> mentioned earlier, seeing how this forum has a high concentration of 
>>>>>>> people 
>>>>>>> who work with Docker without Dockerfiles I was hoping that someone 
>>>>>>> might 
>>>>>>> know a better answer (and if not, could perhaps at least hint where the 
>>>>>>> limitation lies).
>>>>>>>
>>>>>>>
>>>>>>> On Thursday, 8 March 2018 19:33:20 UTC+1, Rickard von Essen wrote:
>>>>>>>>
>>>>>>>> Use changes and ENV to set the PATH, see 
>>>>>>>> https://www.packer.io/docs/builders/docker.html#basic-example-changes-to-metadata
>>>>>>>>
>>>>>>>> On Mar 8, 2018 7:00 PM, "Alvaro Miranda Aguilera" <kik...@gmail.com> 
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> where packer fits here ?
>>>>>>>>>
>>>>>>>>> On Thu, Mar 8, 2018 at 6:02 PM, Ivan Ribakov <ivan.r...@gmail.com> 
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> I'm building a docker image and using Ansible for provisioning. I 
>>>>>>>>>> would like to be able to update image's PATH variable from inside 
>>>>>>>>>> the 
>>>>>>>>>> container (I don't need these changes to take effect immediately, as 
>>>>>>>>>> long 
>>>>>>>>>> as they are commited to an image and are available later). Is there 
>>>>>>>>>> a way 
>>>>>>>>>> to do it?
>>>>>>>>>>
>>>>>>>>>> To illustrate my point:
>>>>>>>>>>
>>>>>>>>>> $ docker run -itd --name test centos:6 
>>>>>>>>>> $ docker exec -it test /bin/bash 
>>>>>>>>>> [root@006a9c3195b6 /]# echo 'echo SUCCESS' > /root/test.sh 
>>>>>>>>>> [root@006a9c3195b6 /]# chmod +x /root/test.sh 
>>>>>>>>>> [root@006a9c3195b6 /]# echo 'export PATH=/root:$PATH' > 
>>>>>>>>>> /etc/profile.d/my_settings.sh 
>>>>>>>>>> [root@006a9c3195b6 /]# echo 'PATH=/root:$PATH' > /etc/environment 
>>>>>>>>>> [root@006a9c3195b6 /]# echo 'export PATH=/root:$PATH' > ~/.bashrc
>>>>>>>>>> [root@006a9c3195b6 /]# exit 
>>>>>>>>>> $ docker commit test test-image:1 
>>>>>>>>>> $ docker exec -it test-image:1 test.sh
>>>>>>>>>> OCI runtime exec failed: exec failed: container_linux.go:296: 
>>>>>>>>>> starting container process caused "exec: \"test.sh\": executable 
>>>>>>>>>> file not found in $PATH": unknown
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> However, following works:
>>>>>>>>>>
>>>>>>>>>> $ docker run -it test-image:1 /bin/bash
>>>>>>>>>> [root@8f821c7b9b82 /]# test.sh 
>>>>>>>>>> SUCCESS
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Any ideas as to what I'm doing wrong?
>>>>>>>>>>
>>>>>>>>>> -- 
>>>>>>>>>> This mailing list is governed under the HashiCorp Community 
>>>>>>>>>> Guidelines - https://www.hashicorp.com/community-guidelines.html. 
>>>>>>>>>> Behavior in violation of those guidelines may result in your removal 
>>>>>>>>>> from 
>>>>>>>>>> this mailing list.
>>>>>>>>>>  
>>>>>>>>>> GitHub Issues: https://github.com/mitchellh/packer/issues
>>>>>>>>>> IRC: #packer-tool on Freenode
>>>>>>>>>> --- 
>>>>>>>>>> You received this message because you are subscribed to the 
>>>>>>>>>> Google Groups "Packer" group.
>>>>>>>>>> To unsubscribe from this group and stop receiving emails from it, 
>>>>>>>>>> send an email to packer-tool...@googlegroups.com.
>>>>>>>>>> To view this discussion on the web visit 
>>>>>>>>>> https://groups.google.com/d/msgid/packer-tool/e4cb8df6-fe4e-48bc-9064-64ce4cabae79%40googlegroups.com
>>>>>>>>>>  
>>>>>>>>>> <https://groups.google.com/d/msgid/packer-tool/e4cb8df6-fe4e-48bc-9064-64ce4cabae79%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>>>>> .
>>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> -- 
>>>>>>>>> Alvaro
>>>>>>>>>
>>>>>>>>> -- 
>>>>>>>>> This mailing list is governed under the HashiCorp Community 
>>>>>>>>> Guidelines - https://www.hashicorp.com/community-guidelines.html. 
>>>>>>>>> Behavior in violation of those guidelines may result in your removal 
>>>>>>>>> from 
>>>>>>>>> this mailing list.
>>>>>>>>>  
>>>>>>>>> GitHub Issues: https://github.com/mitchellh/packer/issues
>>>>>>>>> IRC: #packer-tool on Freenode
>>>>>>>>> --- 
>>>>>>>>> You received this message because you are subscribed to the Google 
>>>>>>>>> Groups "Packer" group.
>>>>>>>>> To unsubscribe from this group and stop receiving emails from it, 
>>>>>>>>> send an email to packer-tool...@googlegroups.com.
>>>>>>>>> To view this discussion on the web visit 
>>>>>>>>> https://groups.google.com/d/msgid/packer-tool/CAHqq0eyK01mTYLZDQmxdz-U%3DWbFj39dFkcNHEDZ883nXukym9Q%40mail.gmail.com
>>>>>>>>>  
>>>>>>>>> <https://groups.google.com/d/msgid/packer-tool/CAHqq0eyK01mTYLZDQmxdz-U%3DWbFj39dFkcNHEDZ883nXukym9Q%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>>>>> .
>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>
>>>>>>>> -- 
>>>>>>> This mailing list is governed under the HashiCorp Community 
>>>>>>> Guidelines - https://www.hashicorp.com/community-guidelines.html. 
>>>>>>> Behavior in violation of those guidelines may result in your removal 
>>>>>>> from 
>>>>>>> this mailing list.
>>>>>>>  
>>>>>>> GitHub Issues: https://github.com/mitchellh/packer/issues
>>>>>>> IRC: #packer-tool on Freenode
>>>>>>> --- 
>>>>>>> You received this message because you are subscribed to the Google 
>>>>>>> Groups "Packer" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it, 
>>>>>>> send an email to packer-tool...@googlegroups.com.
>>>>>>> To view this discussion on the web visit 
>>>>>>> https://groups.google.com/d/msgid/packer-tool/60a0484d-9850-4046-82b0-0b09152b6447%40googlegroups.com
>>>>>>>  
>>>>>>> <https://groups.google.com/d/msgid/packer-tool/60a0484d-9850-4046-82b0-0b09152b6447%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>> .
>>>>>>>
>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>
>>>>>>
>>>>>>
>>>>> -- 
>>>> This mailing list is governed under the HashiCorp Community Guidelines 
>>>> - https://www.hashicorp.com/community-guidelines.html. Behavior in 
>>>> violation of those guidelines may result in your removal from this mailing 
>>>> list.
>>>>  
>>>> GitHub Issues: https://github.com/mitchellh/packer/issues
>>>> IRC: #packer-tool on Freenode
>>>> --- 
>>>> You received this message because you are subscribed to the Google 
>>>> Groups "Packer" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>> an email to packer-tool...@googlegroups.com.
>>>> To view this discussion on the web visit 
>>>> https://groups.google.com/d/msgid/packer-tool/1a1ec019-349e-42ef-bef8-719e588f4349%40googlegroups.com
>>>>  
>>>> <https://groups.google.com/d/msgid/packer-tool/1a1ec019-349e-42ef-bef8-719e588f4349%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>> -- 
>> This mailing list is governed under the HashiCorp Community Guidelines - 
>> https://www.hashicorp.com/community-guidelines.html. Behavior in 
>> violation of those guidelines may result in your removal from this mailing 
>> list.
>>  
>> GitHub Issues: https://github.com/mitchellh/packer/issues
>> IRC: #packer-tool on Freenode
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "Packer" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to packer-tool...@googlegroups.com <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/packer-tool/67c3c116-3480-40f7-a018-ace8c10c5e9c%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/packer-tool/67c3c116-3480-40f7-a018-ace8c10c5e9c%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
This mailing list is governed under the HashiCorp Community Guidelines - 
https://www.hashicorp.com/community-guidelines.html. Behavior in violation of 
those guidelines may result in your removal from this mailing list.

GitHub Issues: https://github.com/mitchellh/packer/issues
IRC: #packer-tool on Freenode
--- 
You received this message because you are subscribed to the Google Groups 
"Packer" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to packer-tool+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/packer-tool/32f1dc89-7adc-43c8-864e-2f8eb5902586%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to