Packer: Scripts de shell rotos con Docker 1.4.x

Creado en 12 dic. 2014  ·  85Comentarios  ·  Fuente: hashicorp/packer

Usando la versión de origen actual de Packer

Escenario de trabajo con Docker 1.3.3:

2014/12/12 15:49:51 packer-builder-docker: 2014/12/12 15:49:51 Running the provision hook
1418399391,,ui,message,    docker: Container ID: b0117b8cbffd154539242acb24666f703b78ff22ef782e0d03cc768ba38db982
2014/12/12 15:49:51 packer-provisioner-shell: 2014/12/12 15:49:51 Opening /tmp/packer-shell648686173 for reading
2014/12/12 15:49:51 packer-provisioner-shell: 2014/12/12 15:49:51 [INFO] 109 bytes written for 'uploadData'
2014/12/12 15:49:51 [INFO] 109 bytes written for 'uploadData'
2014/12/12 15:49:51 packer-builder-docker: 2014/12/12 15:49:51 Executing in container b0117b8cbffd154539242acb24666f703b78ff22ef782e0d03cc768ba38db982: "(cp /packer-files/upload080199707 /tmp/script.sh) >/packer-files/cmd466238654 2>&1; echo $? >/packer-files/cmd466238654-exit"
1418399391,,ui,say,==> docker: Provisioning with shell script: /tmp/packer-shell648686173
2014/12/12 15:49:53 packer-builder-docker: 2014/12/12 15:49:53 Waiting for exit code to appear for remote command...
2014/12/12 15:49:53 packer-builder-docker: 2014/12/12 15:49:53 Executed command exit status: 0
2014/12/12 15:49:55 packer-builder-docker: 2014/12/12 15:49:55 Executing in container b0117b8cbffd154539242acb24666f703b78ff22ef782e0d03cc768ba38db982: "(chmod 0777 /tmp/script.sh) >/packer-files/cmd678804741 2>&1; echo $? >/packer-files/cmd678804741-exit"
2014/12/12 15:49:57 packer-builder-docker: 2014/12/12 15:49:57 Waiting for exit code to appear for remote command...
2014/12/12 15:49:57 packer-builder-docker: 2014/12/12 15:49:57 Executed command exit status: 0
2014/12/12 15:49:59 packer-builder-docker: 2014/12/12 15:49:59 [INFO] RPC endpoint: Communicator ended with: 0
2014/12/12 15:49:59 [INFO] RPC client: Communicator ended with: 0
2014/12/12 15:49:59 [INFO] RPC endpoint: Communicator ended with: 0
2014/12/12 15:49:59 packer-provisioner-shell: 2014/12/12 15:49:59 [INFO] RPC client: Communicator ended with: 0
2014/12/12 15:49:59 packer-builder-docker: 2014/12/12 15:49:59 Executing in container b0117b8cbffd154539242acb24666f703b78ff22ef782e0d03cc768ba38db982: "(chmod +x /tmp/script.sh; PACKER_BUILD_NAME='docker' PACKER_BUILDER_TYPE='docker' /tmp/script.sh) >/packer-files/cmd838923936 2>&1; echo $? >/packer-files/cmd838923936-exit"
2014/12/12 15:50:01 packer-builder-docker: 2014/12/12 15:50:01 Waiting for exit code to appear for remote command...
2014/12/12 15:50:02 packer-builder-docker: 2014/12/12 15:50:02 Executed command exit status: 127
2014/12/12 15:50:03 packer-builder-docker: 2014/12/12 15:50:03 [INFO] RPC endpoint: Communicator ended with: 127
2014/12/12 15:50:03 [INFO] 0 bytes written for 'stderr'
2014/12/12 15:50:03 [INFO] RPC client: Communicator ended with: 127
2014/12/12 15:50:03 [INFO] 0 bytes written for 'stdout'
2014/12/12 15:50:03 [INFO] RPC endpoint: Communicator ended with: 127
2014/12/12 15:50:03 packer-provisioner-shell: 2014/12/12 15:50:03 [INFO] 0 bytes written for 'stderr'
2014/12/12 15:50:03 packer-provisioner-shell: 2014/12/12 15:50:03 [INFO] RPC client: Communicator ended with: 127
2014/12/12 15:50:03 packer-provisioner-shell: 2014/12/12 15:50:03 [INFO] 0 bytes written for 'stdout'

Escenario fallido con Docker 1.4:

1418398765,,ui,say,==> docker: Provisioning with shell script: /tmp/packer-shell348099556
2014/12/12 15:39:25 packer-provisioner-shell: 2014/12/12 15:39:25 Opening /tmp/packer-shell348099556 for reading
2014/12/12 15:39:25 packer-provisioner-shell: 2014/12/12 15:39:25 [INFO] 109 bytes written for 'uploadData'
2014/12/12 15:39:25 [INFO] 109 bytes written for 'uploadData'
2014/12/12 15:39:25 packer-builder-docker: 2014/12/12 15:39:25 Executing in container ff13b288d87f7fa9d3c1e5ffeb810cc8fec6be80b1bd8eab21cc39a8e2b22336: "(cp /packer-files/upload431013147 /tmp/script.sh) >/packer-files/cmd669791166 2>&1; echo $? >/packer-files/cmd669791166-exit"
2014/12/12 15:39:27 packer-provisioner-shell: 2014/12/12 15:39:27 Retryable error: Error uploading script: Upload failed with non-zero exit status: 1
2014/12/12 15:39:29 packer-provisioner-shell: 2014/12/12 15:39:29 [INFO] 109 bytes written for 'uploadData'
2014/12/12 15:39:29 [INFO] 109 bytes written for 'uploadData'
2014/12/12 15:39:29 packer-builder-docker: 2014/12/12 15:39:29 Executing in container ff13b288d87f7fa9d3c1e5ffeb810cc8fec6be80b1bd8eab21cc39a8e2b22336: "(cp /packer-files/upload047296517 /tmp/script.sh) >/packer-files/cmd706862496 2>&1; echo $? >/packer-files/cmd706862496-exit"
2014/12/12 15:39:31 packer-provisioner-shell: 2014/12/12 15:39:31 Retryable error: Error uploading script: Upload failed with non-zero exit status: 1
2014/12/12 15:39:33 packer-provisioner-shell: 2014/12/12 15:39:33 [INFO] 109 bytes written for 'uploadData'
2014/12/12 15:39:33 [INFO] 109 bytes written for 'uploadData'
2014/12/12 15:39:33 packer-builder-docker: 2014/12/12 15:39:33 Executing in container ff13b288d87f7fa9d3c1e5ffeb810cc8fec6be80b1bd8eab21cc39a8e2b22336: "(cp /packer-files/upload033689215 /tmp/script.sh) >/packer-files/cmd209553362 2>&1; echo $? >/packer-files/cmd209553362-exit"
2014/12/12 15:39:35 packer-provisioner-shell: 2014/12/12 15:39:35 Retryable error: Error uploading script: Upload failed with non-zero exit status: 1
2014/12/12 15:39:37 packer-provisioner-shell: 2014/12/12 15:39:37 [INFO] 109 bytes written for 'uploadData'
2014/12/12 15:39:37 [INFO] 109 bytes written for 'uploadData'
2014/12/12 15:39:37 packer-builder-docker: 2014/12/12 15:39:37 Executing in container ff13b288d87f7fa9d3c1e5ffeb810cc8fec6be80b1bd8eab21cc39a8e2b22336: "(cp /packer-files/upload479277833 /tmp/script.sh) >/packer-files/cmd622516948 2>&1; echo $? >/packer-files/cmd622516948-exit"
2014/12/12 15:39:39 packer-provisioner-shell: 2014/12/12 15:39:39 Retryable error: Error uploading script: Upload failed with non-zero exit status: 1
2014/12/12 15:39:41 packer-provisioner-shell: 2014/12/12 15:39:41 [INFO] 109 bytes written for 'uploadData'
bug buildedocker

Comentario más útil

Para mí, esto solo sucede cuando el empaquetador se ejecuta dentro de la ventana acoplable y luego intenta aprovisionar una nueva ventana acoplable. ¿Quizás esto lo está haciendo mal?

Todos 85 comentarios

Solo un seguimiento ... cuando esto estaba fallando, estaba usando Docker 1.4.0 de los últimos repositorios de Docker. Acabo de hacer que funcione con este Vagrantfile modificado:

Vagrant.configure("2") do |config|
  #config.vm.box = "phusion-open-ubuntu-14.04-amd64"
  #config.vm.box_url = "https://oss-binaries.phusionpassenger.com/vagrant/boxes/latest/ubuntu-14.04-amd64-vbox.box"
  config.vm.box = "ubuntu"

  config.vm.provider :virtualbox do |vb|
    vb.name = 'packer-builder'
    vb.customize ["modifyvm", :id, "--memory", "2048" ]
    vb.customize ["modifyvm", :id, "--cpus",  "2" ]
    vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
  end

  if Dir.glob("#{File.dirname(__FILE__)}/.vagrant/machines/default/*/id").empty?
    pkg_cmd = ""
    #pkg_cmd << "wget -q -O - https://get.docker.io/gpg | apt-key add -; "
    #pkg_cmd << "echo deb http://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list;"
    pkg_cmd << "apt-get update -qq; apt-get install -q -y --force-yes docker.io bsdtar; "
    pkg_cmd << "usermod -a -G docker vagrant; "
    pkg_cmd << "cd /usr/bin; wget -qO- https://dl.bintray.com/mitchellh/packer/packer_0.7.5_linux_amd64.zip | bsdtar -pxvf-; "
    pkg_cmd << "sudo chmod +x /usr/bin/packer*; "
    config.vm.provision :shell, :inline => pkg_cmd
  end
end

Esto instala Docker 1.0.1 ... y funciona perfectamente con los mismos archivos de Packer.

Versión de trabajo de Docker:

Client version: 1.0.1
Client API version: 1.12
Go version (client): go1.2.1
Git commit (client): 990021a
Server version: 1.0.1
Server API version: 1.12
Go version (server): go1.2.1
Git commit (server): 990021a

No funciona:

Client version: 1.4.0
Client API version: 1.16
Go version (client): go1.3.3
Git commit (client): 4595d4f
OS/Arch (client): linux/amd64
Server version: 1.4.0
Server API version: 1.16
Go version (server): go1.3.3
Git commit (server): 4595d4f

Ok actualización final para la noche ... parece que Docker 1.4.0 es el problema. Docker 1.3.3 funciona bien:

Client version: 1.3.3
Client API version: 1.15
Go version (client): go1.3.3
Git commit (client): d344625
OS/Arch (client): linux/amd64
Server version: 1.3.3
Server API version: 1.15
Go version (server): go1.3.3
Git commit (server): d344625

parece que Docker 1.4.0 es el problema. Docker 1.3.3 funciona bien:

Sí, esa es la conclusión a la que se me ocurrió también

Confirmado que esto sigue siendo un problema al usar Docker 1.4.1

json que recrea el problema:

{
  "builders": [
    {
      "type": "docker",
      "image": "ubuntu:latest",
      "pull": true,
      "export_path": "docker-burn.tar"
    }
  ],
  "provisioners": [
    {
      "type": "shell",
      "inline": [
        "set -x",
        "set -e",
        "date"
      ]
    }
  ]
}

: +1: ¡lo mismo aquí!

Una solución ingenua se vería así:

https://github.com/mariussturm/packer/commit/3a286ab6bdba7b8e5bf6a43c357a0ffeacd3dc97

Esto rompe la compatibilidad con versiones anteriores de Docker 1.3- (lo que está bien en mi opinión)

@mariussturm Gracias por 3a286ab6bdba7b8e5bf6a43c357a0ffeacd3dc97. Existe un problema relacionado con el aprovisionador chef-solo ; el primer comando que ejecuta (creando el staging_directory ) mata el contenedor, terminando así la compilación. Tu solución también resuelve eso.

También puedo confirmar este problema con Docker 1.4.1

Estoy teniendo el mismo problema (informado aquí cuando uso inline ) también cuando uso el elemento de script .
Básicamente, en este momento es imposible crear imágenes de Docker v1.4.x con Packer con cualquiera de los aprovisionadores de shell.

El error es:

2014/12/25 12:21:30 packer-builder-docker: 2014/12/25 12:21:30 Executing in container 600d9cc40feaa99ee3f6b9ad6daf440dc79265abbbfa8676a45904463df1a353: "(cp /packer-files/upload674827840 /tmp/script.sh) >/packer-files/cmd940924575 2>&1; echo $? >/packer-files/cmd940924575-exit"
==> docker: Provisioning with shell script: /home/dl/testsourcedir/hello.sh
2014/12/25 12:21:32 packer-provisioner-shell: 2014/12/25 12:21:32 Retryable error: Error uploading script: Upload failed with non-zero exit status: 1

Con una configuración de aprovisionamiento como:

 "provisioners" : [
    {
        "type" : "shell",
        "script" : "{{pwd}}/testsourcedir/hello.sh"
    }
    ],

y un script de shell simple correspondiente:

[dl<strong i="16">@localhost</strong> ~]$ cat testsourcedir/hello.sh
#!/bin/sh
echo "Hello"

1, con el script variante del shell provisioner.

+1
Este provisioner ha fallado para mí con el inline variante del shell provisioner.

packer version
Packer v0.7.5
...
docker --version
Docker version 1.4.1, build 5bc2ff8

Basado en los comentarios anteriores (y el compromiso de @mariussturm), construí una caja virtual que puede usar con boot2docker y tiene el cambio de marius integrado en el empacador provisto. Esto requirió el código fuente para empaquetador y Vagrantfile de @mitchellh para empaquetador (pirateado para construir un binario de 32 bits), así como el código fuente de @YungSang sobre cómo construir una caja vagabunda a partir de la iso de boot2docker. ¡Código abierto al rescate!

Espero que esto ayude a algunas personas que quieran usar Docker 1.4.1 con Packer Inside a Vagrant.

https://atlas.hashicorp.com/iansmith/boxes/boot2docker-plus-packer

¡Urgh! Solo me encontré con este. Seria llave inglesa en los engranajes de mi proyecto.

También me encontré con este problema. ¿Cuál es la solución alternativa actual? ¿Cambiar la ventana acoplable a 1.3.3?

Tuve que degradar la ventana acoplable a 1.3.3. Esa es mi solución actual.

@vitorcoxta y @yanaga Alternativamente, puede reconstruir su propia versión binaria de empaquetador usando la solución propuesta por mariussturm:

https://github.com/mitchellh/packer/commit/3a286ab6bdba7b8e5bf6a43c357a0ffeacd3dc97

Con la nueva ventana acoplable 1.5, parece lamentable que todavía tengamos que usar 1.3.3 debido a este error: /

¿Alguna ETA para que esto se convierta en una nueva versión? 0,76, ¿quizás?

: +1:

Tener este problema con:

Docker version 1.5.0, build a8a31ef
Packer v0.7.5
Boot2Docker-cli version: v1.5.0
Git commit: ccd9032

Darwin 13.4.0 Darwin Kernel Version 13.4.0: Wed Dec 17 19:05:52 PST 2014; root:xnu-2422.115.10~1/RELEASE_X86_64 x86_64

Creé un repositorio de github, https://github.com/stefancocora/packer-issue1752-fix , que contiene binarios del empaquetador ( amd64 ) construidos contra la rama maestra con mariussturm corrección para este problema.
Puede utilizar los archivos binarios que he creado hasta el punto en que los encargados del mantenimiento del empaquetador fusionan la solución para este problema y lanzan una nueva versión.
Los binarios que he creado funcionan perfectamente para mí, agregué una forma de probarlos en el repositorio de github mencionado anteriormente, consulte README.md

@stefancocora ¡muchas gracias por el repositorio! Puedo confirmar que esa versión funciona (en Fedora 21 / x86_64, con Docker 1.5.0).

Una cosa que noté con el uso de exec lugar de attach : sería bueno usar también la bandera -t , de modo que se asigne un tty y herramientas como sudo trabajo (CentOS por defecto tiene Defaults requiretty en /etc/sudoers ).

Gracias por probar @ankon , buen punto sobre -t , no lo pensé.
Acabo de crear un paquete binario compilado para Docker con la bandera -t .
Desafortunadamente, no logra construir una imagen y no sé qué está causando ese error.
Al revertir el empaquetador al parche sin -t , obtengo una compilación de imagen de Docker exitosa.

Salida de error de la compilación del empaquetador con -t

...
    docker: Status: Image is up to date for devopsil/puppet:latest
==> docker: Starting docker container...
    docker: Run command: docker run -v /tmp/packer-docker141026721:/packer-files -d -i -t devopsil/puppet /bin/bash
    docker: Container ID: 72e09e8c029a7321143cac4baf012525e1a816e35770a1cc216327005caf1912
==> docker: Uploading ./modules => /tmp/modules
==> docker: Killing the container: 72e09e8c029a7321143cac4baf012525e1a816e35770a1cc216327005caf1912
Build 'docker' errored: Upload failed with non-zero exit status: 1

==> Some builds didn't complete successfully and had errors:
--> docker: Upload failed with non-zero exit status: 1

==> Builds finished but no artifacts were created.

Siempre puede deshabilitar requiretty en el archivo sudoers y eso permitirá que sudo funcione bien.

@stefancocora Lo compilé con el parche para OSX, si quieres, puedo enviar un PR con una rama. Por ahora si alguien los quiere aquí están .

@stefancocora Tu repositorio funciona para Arch x86_64 con Docker 1.5.0. Gracias

@chiefy, no te preocupes por un PR, espero que mi construcción por linux y tu construcción por osx no tengan que existir por mucho tiempo. Espero que esto se solucione pronto en el código del empaquetador ascendente ...

@stefancocora : +1: sí,

+1

También veo este problema.

$ packer version
Packer v0.7.5

$ docker version
Client version: 1.5.0
Client API version: 1.17
Go version (client): go1.4.1
Git commit (client): a8a31ef
OS/Arch (client): linux/amd64
Server version: 1.5.0
Server API version: 1.17
Go version (server): go1.4.1
Git commit (server): a8a31ef

+1 de la lista de correo:

https://mail.google.com/mail/u/0/?shva=1#label/Hashicorp% 2Fpacker / 14c1113f7041d655

Hola,
Si bien este problema no está resuelto y el parche propuesto parece funcionar, por conveniencia, he enviado una versión linux_x64 precompilada a bintray aquí . Esta es la compilación del HEAD maestro actual, porque no pude compilar en la etiqueta v0.7.5.

He estado trabajando en un problema relacionado: https://github.com/mitchellh/packer/issues/1975

Este parche resolvió el problema inicial, pero ahora la ejecución se bloquea en

2015/03/17 13:17:47 packer-builder-docker: 2015/03/17 13:17:47 Esperando que aparezca el código de salida para el comando remoto ...

Lo adjunté al contenedor y verifiqué que el comando se ejecutó y que el código de salida 0 se escribió en el archivo de salida, pero la compilación nunca avanza. Veo el mismo problema con los aprovisionadores de shell y chef-solo en Ubuntu14.04 y CentOS6.

Packer Versión 0.7.5 usando el binario parcheado de chiefy
docker-machine versión 0.1.0 usando el controlador Virtualbox
El host está ejecutando OSX 10.9.5

$ versión docker
Versión del cliente: 1.5.0
Versión de la API del cliente: 1.17
Go versión (cliente): go1.4.1
Confirmación de Git (cliente): a8a31ef
OS / Arch (cliente): darwin / amd64
Versión del servidor: 1.5.0
Versión de la API del servidor: 1.17
Go versión (servidor): go1.4.1
Confirmación de Git (servidor): a8a31ef

https://mail.google.com/mail/u/0/?shva=1#label/Hashicorp% 2Fpacker / 14c1113f7041d655

@kikitux FYI: Ese es un enlace a algo en su bandeja de entrada de Gmail. No podemos ver eso.

También tengo este problema con Packer 0.7.5 y Docker 1.5.0

También se puede reproducir en OSX usando Boot2Docker-cli version: v1.5.0

versión empacadora

Packer v0.7.5

versión docker

Client version: 1.5.0
Client API version: 1.17
Go version (client): go1.4.1
Git commit (client): a8a31ef
OS/Arch (client): darwin/amd64
Server version: 1.5.0
Server API version: 1.17
Go version (server): go1.4.1
Git commit (server): a8a31ef

El parche propuesto por @alkersan no parece funcionar con un host de docker remoto. Tengo la misma versión de la ventana acoplable (1.5) tanto en un cliente como en un servidor de la ventana acoplable con la versión parcheada de empacador en ambos. Funciona bien en el servidor de la ventana acoplable, pero se cuelga del cliente.

+1

+1

lo mismo para Docker 1.6

Probé los binarios proporcionados por

Compilé mis propios binarios basados ​​en master para Fedora 21 con Docker 1.6, y el empaquetador funcionó.

todavía me cuelga cuando uso un host de docker remoto, pero funciona bien localmente

ubuntu trusty y docker 1.6 también fallan

También tengo el problema en ambos:
OpenSUSE 13.1 x86_64 && OSX 10.10

con:

$ packer version
Packer v0.7.5

y

$ docker version
Client version: 1.6.0
Client API version: 1.18
Go version (client): go1.4.2
Git commit (client): 4749651
OS/Arch (client): linux/amd64
Server version: 1.6.0
Server API version: 1.18
Go version (server): go1.4.2
Git commit (server): 4749651
OS/Arch (server): linux/amd64

Terminé degradando a Docker 1.3.2 donde esto funciona (en el sistema OpenSUSE).
Probé 1.3.2 y 1.3.0 en OSX 10.10 sin suerte.

Bien, entiendo que es posible que deba cambiar a la ventana acoplable 1.3.2 para que mis scripts de shell de compilación de empaquetadores funcionen con la ventana acoplable. ¿Alguien puede proporcionar instrucciones sobre cómo instalar Docker 1.3.2 en Ubuntu (confiable)? No puedo averiguar cómo.

ok lo encontré!

sudo apt-get install lxc-docker-1.3.2

y eso solucionó el problema. Estaba usando la última versión de Docker antes, cualquiera que sea.

Parece fallar también con Docker 1.6.0 en Ubuntu 14.04.
Al hacer 'sudo apt-get install lxc-docker-1.3.2' como dijo d3netxer (sin desinstalar nada primero), parece funcionar.

@dietervds
¿Ha probado los binarios que he creado con la solución para este problema?
https://github.com/stefancocora/packer-issue1752-fix

@mindscratch ha confirmado hace 16 días que los binarios que he creado funcionan con docker 1.6 y CentOS7

@stefancocora
https://github.com/stefancocora/packer-issue1752-fix funciona para mí en Fedora 21 con Docker 1.6.0 una vez que configuro SELinux en modo permisivo. También funciona en CentOS 7 con Docker 1.5.0, con SELinux a Permissive y en Ubuntu 15.04 con Docker 1.5.0.

¿Esto solo está roto para el aprovisionamiento de scripts de shell? Parece que también está fallando con el aprovisionador chef-solo , pero todavía soy muy nuevo en docker / chef / packer, por lo que mi problema podría estar en otro lugar.

Versiones:
Docker v1.5
Packer v0.7.5

modelo:

{
  "builders": [
    {
      "type": "docker",
      "image": "ubuntu:14.04",
      "export_path": "{{pwd}}/utils.img"
    }
  ],
  "provisioners": [
    {
      "type": "chef-solo",
      "cookbook_paths": "{{pwd}}/cookbooks"
    }
  ]
}

El aprovisionador chef-solo se basa en el aprovisionador shell , por lo que ambos están rotos. Es muy triste que este error no reciba atención por parte del equipo central. Parece que enviar nuevos productos es más importante que mantener los existentes. :(

En efecto.

Hola @mitchellh , ¿existe la posibilidad de que este error se solucione para una versión 0.8?

Hola,

¿Cuándo saldrá oficialmente esta versión parcheada? A mí también me funciona (https://github.com/stefancocora/packer-issue1752-fix)

Gracias

+1

Este es un bloqueador bastante serio para cualquiera que quiera hacer docker + chef. No puedo recomendar esto a mi equipo si requiere parchear lo que se siente como la mitad de la cadena de herramientas.

En realidad, afecta a varias piezas cuando se usa el constructor de Docker.
Afortunadamente, el parche funciona.

El jueves 21 de mayo de 2015 a las 5:57 p.m., Matt Chu [email protected] escribió:

+1

Este es un bloqueador bastante serio para cualquiera que quiera hacer docker + chef.
No puedo recomendar esto a mi equipo si requiere parchear lo que
se siente como la mitad de la cadena de herramientas.

-
Responda a este correo electrónico directamente o véalo en GitHub
https://github.com/mitchellh/packer/issues/1752#issuecomment -104444469.

También estoy bloqueado para usar docker + chef, como @thmttch ..
Espero que los mantenedores puedan fusionarlo pronto (¿el hecho de que no me preocupa que puedan tener otra solución en mente?)

me encontré con esto también. Probaré el parche como solución. Usando docker-machine y docker 1.6.2

¡Fijo!

GRACIAS @mitchellh !!!! Estaba a punto de retirar el packer a favor de Docerkfiles ( estremecimiento ) porque esto estaba interrumpiendo mi implementación. Sigues siendo uno de mis héroes constantes, ahorrándome horas y horas de mi vida.

¡¡INCREÍBLE!! \metro/
¡¡Gracias!!

El 29 de mayo de 2015 a las 20:56, Mitchell Hashimoto [email protected]
escribió:

Cerrado # 1752 https://github.com/mitchellh/packer/issues/1752.

-
Responda a este correo electrónico directamente o véalo en GitHub
https://github.com/mitchellh/packer/issues/1752#event -317473314.

¡Gran ayuda, gracias!

Pido disculpas por el largo retraso :( Lanzaremos una versión de Packer muy pronto con muchas correcciones de errores de Docker.

¡noticias fantásticas! estará esperando eso;)

¡Gracias! ¡He estado esperando esto!

@mitchellh ¿ Cuándo está prevista la próxima versión que incluya esta solución?

@stefancocora ¡ Gracias por la solución provisional!

muchachos geniales. ¡Buen trabajo!

@aidanjl no hay problema, ¡es lo mínimo que puedo hacer para que el arreglo de @mariussturm sea fácilmente accesible para cualquiera!

@mitchellh , actualice el empaquetador que Atlas está usando con esta solución también, porque actualmente no puedo crear ninguna imagen de Docker en Atlas. Necesito esto para mostrar Atlas a mi gerente este jueves para que podamos comprar Atlas.

Actualmente estoy ejecutando Packer 0.8-dev y Docker 1.6.2 en OS X y sigo viendo este problema.

==> docker: Provisioning with shell script: /var/folders/7z/3_4h7g_x55b_stn8nyd2w4mc0000gn/T/packer-shell921079459
2015/06/19 15:13:00 packer-provisioner-shell: 2015/06/19 15:13:00 [INFO] 92 bytes written for 'uploadData'
2015/06/19 15:13:00 [INFO] 92 bytes written for 'uploadData'
2015/06/19 15:13:00 packer-builder-docker: 2015/06/19 15:13:00 Executing in container b77320622ccd70b787bf85e0d88680db0a8a29ea4946aad7d18ceb7dc181362c: "(command cp /packer-files/upload556204673 /tmp/script_7943.sh) >/packer-files/cmd576371692 2>&1; echo $? >/packer-files/cmd576371692-exit"
2015/06/19 15:13:02 packer-builder-docker: 2015/06/19 15:13:02 Waiting for exit code to appear for remote command...

También intenté degradar a Docker 1.3.3 y encontré lo mismo.

Packer v0.8.0 fue etiquetado y lanzado a la página de descargas ayer, lo que debería solucionar este problema. Me funciona con Docker 1.5.0, después de actualizar Packer 0.7.5 a 0.8.0.

verificado y funcionando correctamente con Packer v0.8.0 y Docker Client version: 1.6.2 en un host Ubuntu 14.04 x64.

Sigo experimentando este problema en osx. Packer versión 0.8.0, docker versión 1.6.2 y 1.7.0. Probaré una distribución de Linux para ver si tengo más suerte.

Igual que @ lukeowen89
Es una especie de arrastre que todavía no puedo empacar en osx en este momento.

También roto para mí en OSX. Empaquetador 0.8.1, Docker 1.7.1

registro de depuración del empaquetador

2015/07/15 23:42:08 [INFO] Packer version: 0.8.1  872e78d5b0a387eb3b87ddeef210264c3199d178+CHANGES
2015/07/15 23:42:08 Packer Target OS/Arch: darwin amd64
2015/07/15 23:42:08 Built with Go Version: go1.4.2
2015/07/15 23:42:08 [DEBUG] Discovered plugin: amazon-chroot = /usr/local/bin/packer-builder-amazon-chroot
2015/07/15 23:42:08 [DEBUG] Discovered plugin: amazon-ebs = /usr/local/bin/packer-builder-amazon-ebs
2015/07/15 23:42:08 [DEBUG] Discovered plugin: amazon-instance = /usr/local/bin/packer-builder-amazon-instance
2015/07/15 23:42:08 [DEBUG] Discovered plugin: digitalocean = /usr/local/bin/packer-builder-digitalocean
2015/07/15 23:42:08 [DEBUG] Discovered plugin: docker = /usr/local/bin/packer-builder-docker
2015/07/15 23:42:08 [DEBUG] Discovered plugin: file = /usr/local/bin/packer-builder-file
2015/07/15 23:42:08 [DEBUG] Discovered plugin: googlecompute = /usr/local/bin/packer-builder-googlecompute
2015/07/15 23:42:08 [DEBUG] Discovered plugin: null = /usr/local/bin/packer-builder-null
2015/07/15 23:42:08 [DEBUG] Discovered plugin: openstack = /usr/local/bin/packer-builder-openstack
2015/07/15 23:42:08 [DEBUG] Discovered plugin: parallels-iso = /usr/local/bin/packer-builder-parallels-iso
2015/07/15 23:42:08 [DEBUG] Discovered plugin: parallels-pvm = /usr/local/bin/packer-builder-parallels-pvm
2015/07/15 23:42:08 [DEBUG] Discovered plugin: qemu = /usr/local/bin/packer-builder-qemu
2015/07/15 23:42:08 [DEBUG] Discovered plugin: virtualbox-iso = /usr/local/bin/packer-builder-virtualbox-iso
2015/07/15 23:42:08 [DEBUG] Discovered plugin: virtualbox-ovf = /usr/local/bin/packer-builder-virtualbox-ovf
2015/07/15 23:42:08 [DEBUG] Discovered plugin: vmware-iso = /usr/local/bin/packer-builder-vmware-iso
2015/07/15 23:42:08 [DEBUG] Discovered plugin: vmware-vmx = /usr/local/bin/packer-builder-vmware-vmx
2015/07/15 23:42:08 [DEBUG] Discovered plugin: atlas = /usr/local/bin/packer-post-processor-atlas
2015/07/15 23:42:08 [DEBUG] Discovered plugin: compress = /usr/local/bin/packer-post-processor-compress
2015/07/15 23:42:08 [DEBUG] Discovered plugin: docker-import = /usr/local/bin/packer-post-processor-docker-import
2015/07/15 23:42:08 [DEBUG] Discovered plugin: docker-push = /usr/local/bin/packer-post-processor-docker-push
2015/07/15 23:42:08 [DEBUG] Discovered plugin: docker-save = /usr/local/bin/packer-post-processor-docker-save
2015/07/15 23:42:08 [DEBUG] Discovered plugin: docker-tag = /usr/local/bin/packer-post-processor-docker-tag
2015/07/15 23:42:08 [DEBUG] Discovered plugin: vagrant = /usr/local/bin/packer-post-processor-vagrant
2015/07/15 23:42:08 [DEBUG] Discovered plugin: vagrant-cloud = /usr/local/bin/packer-post-processor-vagrant-cloud
2015/07/15 23:42:08 [DEBUG] Discovered plugin: vsphere = /usr/local/bin/packer-post-processor-vsphere
2015/07/15 23:42:08 [DEBUG] Discovered plugin: ansible-local = /usr/local/bin/packer-provisioner-ansible-local
2015/07/15 23:42:08 [DEBUG] Discovered plugin: chef-client = /usr/local/bin/packer-provisioner-chef-client
2015/07/15 23:42:08 [DEBUG] Discovered plugin: chef-solo = /usr/local/bin/packer-provisioner-chef-solo
2015/07/15 23:42:08 [DEBUG] Discovered plugin: file = /usr/local/bin/packer-provisioner-file
2015/07/15 23:42:08 [DEBUG] Discovered plugin: powershell = /usr/local/bin/packer-provisioner-powershell
2015/07/15 23:42:08 [DEBUG] Discovered plugin: puppet-masterless = /usr/local/bin/packer-provisioner-puppet-masterless
2015/07/15 23:42:08 [DEBUG] Discovered plugin: puppet-server = /usr/local/bin/packer-provisioner-puppet-server
2015/07/15 23:42:08 [DEBUG] Discovered plugin: salt-masterless = /usr/local/bin/packer-provisioner-salt-masterless
2015/07/15 23:42:08 [DEBUG] Discovered plugin: shell = /usr/local/bin/packer-provisioner-shell
2015/07/15 23:42:08 [DEBUG] Discovered plugin: shell-local = /usr/local/bin/packer-provisioner-shell-local
2015/07/15 23:42:08 [DEBUG] Discovered plugin: windows-restart = /usr/local/bin/packer-provisioner-windows-restart
2015/07/15 23:42:08 [DEBUG] Discovered plugin: windows-shell = /usr/local/bin/packer-provisioner-windows-shell
2015/07/15 23:42:08 Detected home directory from env var: /Users/bob
2015/07/15 23:42:08 Detected home directory from env var: /Users/bob
2015/07/15 23:42:08 Attempting to open config file: /Users/bob/.packerconfig
2015/07/15 23:42:08 [WARN] Config file doesn't exist: /Users/bob/.packerconfig
2015/07/15 23:42:08 Packer config: &{DisableCheckpoint:false DisableCheckpointSignature:false PluginMinPort:10000 PluginMaxPort:25000 Builders:map[digitalocean:/usr/local/bin/packer-builder-digitalocean googlecompute:/usr/local/bin/packer-builder-googlecompute virtualbox-ovf:/usr/local/bin/packer-builder-virtualbox-ovf amazon-instance:/usr/local/bin/packer-builder-amazon-instance vmware-vmx:/usr/local/bin/packer-builder-vmware-vmx amazon-chroot:/usr/local/bin/packer-builder-amazon-chroot null:/usr/local/bin/packer-builder-null vmware-iso:/usr/local/bin/packer-builder-vmware-iso openstack:/usr/local/bin/packer-builder-openstack parallels-iso:/usr/local/bin/packer-builder-parallels-iso parallels-pvm:/usr/local/bin/packer-builder-parallels-pvm qemu:/usr/local/bin/packer-builder-qemu virtualbox-iso:/usr/local/bin/packer-builder-virtualbox-iso amazon-ebs:/usr/local/bin/packer-builder-amazon-ebs docker:/usr/local/bin/packer-builder-docker file:/usr/local/bin/packer-builder-file] PostProcessors:map[atlas:/usr/local/bin/packer-post-processor-atlas docker-tag:/usr/local/bin/packer-post-processor-docker-tag vagrant-cloud:/usr/local/bin/packer-post-processor-vagrant-cloud vsphere:/usr/local/bin/packer-post-processor-vsphere compress:/usr/local/bin/packer-post-processor-compress docker-import:/usr/local/bin/packer-post-processor-docker-import docker-push:/usr/local/bin/packer-post-processor-docker-push docker-save:/usr/local/bin/packer-post-processor-docker-save vagrant:/usr/local/bin/packer-post-processor-vagrant] Provisioners:map[shell-local:/usr/local/bin/packer-provisioner-shell-local windows-shell:/usr/local/bin/packer-provisioner-windows-shell ansible-local:/usr/local/bin/packer-provisioner-ansible-local chef-client:/usr/local/bin/packer-provisioner-chef-client file:/usr/local/bin/packer-provisioner-file salt-masterless:/usr/local/bin/packer-provisioner-salt-masterless shell:/usr/local/bin/packer-provisioner-shell chef-solo:/usr/local/bin/packer-provisioner-chef-solo powershell:/usr/local/bin/packer-provisioner-powershell puppet-masterless:/usr/local/bin/packer-provisioner-puppet-masterless puppet-server:/usr/local/bin/packer-provisioner-puppet-server windows-restart:/usr/local/bin/packer-provisioner-windows-restart]}
2015/07/15 23:42:08 Setting cache directory: /Users/bob/Projects/garbanzo/packer_cache
2015/07/15 23:42:08 Detected home directory from env var: /Users/bob
2015/07/15 23:42:08 Loading builder: docker
2015/07/15 23:42:08 Creating plugin client for path: /usr/local/bin/packer-builder-docker
2015/07/15 23:42:08 Starting plugin: /usr/local/bin/packer-builder-docker []string{"/usr/local/bin/packer-builder-docker"}
2015/07/15 23:42:08 Waiting for RPC address for: /usr/local/bin/packer-builder-docker
2015/07/15 23:42:08 packer-builder-docker: 2015/07/15 23:42:08 Plugin minimum port: 10000
2015/07/15 23:42:08 packer-builder-docker: 2015/07/15 23:42:08 Plugin maximum port: 25000
2015/07/15 23:42:08 packer-builder-docker: 2015/07/15 23:42:08 Plugin address: unix /var/folders/4j/hd7wss1n4xzc8xn224xsyls80000gn/T/packer-plugin389384987
2015/07/15 23:42:08 packer-builder-docker: 2015/07/15 23:42:08 Waiting for connection...
2015/07/15 23:42:08 packer-builder-docker: 2015/07/15 23:42:08 Serving a plugin connection...
2015/07/15 23:42:08 Loading provisioner: shell
2015/07/15 23:42:08 Creating plugin client for path: /usr/local/bin/packer-provisioner-shell
2015/07/15 23:42:08 Starting plugin: /usr/local/bin/packer-provisioner-shell []string{"/usr/local/bin/packer-provisioner-shell"}
2015/07/15 23:42:08 Waiting for RPC address for: /usr/local/bin/packer-provisioner-shell
2015/07/15 23:42:08 packer-provisioner-shell: 2015/07/15 23:42:08 Plugin minimum port: 10000
2015/07/15 23:42:08 packer-provisioner-shell: 2015/07/15 23:42:08 Plugin maximum port: 25000
2015/07/15 23:42:08 packer-provisioner-shell: 2015/07/15 23:42:08 Plugin address: unix /var/folders/4j/hd7wss1n4xzc8xn224xsyls80000gn/T/packer-plugin592962254
2015/07/15 23:42:08 packer-provisioner-shell: 2015/07/15 23:42:08 Waiting for connection...
2015/07/15 23:42:08 packer-provisioner-shell: 2015/07/15 23:42:08 Serving a plugin connection...
2015/07/15 23:42:08 Loading post-processor: docker-tag
2015/07/15 23:42:08 Creating plugin client for path: /usr/local/bin/packer-post-processor-docker-tag
2015/07/15 23:42:08 Starting plugin: /usr/local/bin/packer-post-processor-docker-tag []string{"/usr/local/bin/packer-post-processor-docker-tag"}
2015/07/15 23:42:08 Waiting for RPC address for: /usr/local/bin/packer-post-processor-docker-tag
2015/07/15 23:42:08 packer-post-processor-docker-tag: 2015/07/15 23:42:08 Plugin minimum port: 10000
2015/07/15 23:42:08 packer-post-processor-docker-tag: 2015/07/15 23:42:08 Plugin maximum port: 25000
2015/07/15 23:42:08 packer-post-processor-docker-tag: 2015/07/15 23:42:08 Plugin address: unix /var/folders/4j/hd7wss1n4xzc8xn224xsyls80000gn/T/packer-plugin099680253
2015/07/15 23:42:08 packer-post-processor-docker-tag: 2015/07/15 23:42:08 Waiting for connection...
2015/07/15 23:42:08 packer-post-processor-docker-tag: 2015/07/15 23:42:08 Serving a plugin connection...
2015/07/15 23:42:08 ui: docker output will be in this color.
2015/07/15 23:42:08 ui: 
2015/07/15 23:42:08 Build debug mode: false
2015/07/15 23:42:08 Force build: false
2015/07/15 23:42:08 Preparing build: docker
docker output will be in this color.

2015/07/15 23:42:08 Waiting on builds to complete...
2015/07/15 23:42:08 Starting build run: docker
2015/07/15 23:42:08 Running builder: docker
2015/07/15 23:42:08 packer-builder-docker: 2015/07/15 23:42:08 [DEBUG] Docker version: 1.7.1
2015/07/15 23:42:08 ui: ==> docker: Creating a temporary directory for sharing data...
==> docker: Creating a temporary directory for sharing data...
2015/07/15 23:42:08 ui: ==> docker: Pulling Docker image: gliderlabs/herokuish
==> docker: Pulling Docker image: gliderlabs/herokuish
2015/07/15 23:42:08 packer-builder-docker: 2015/07/15 23:42:08 Executing: /usr/local/bin/docker [pull gliderlabs/herokuish]
2015/07/15 23:42:11 ui:     docker: latest: Pulling from gliderlabs/herokuish
    docker: latest: Pulling from gliderlabs/herokuish
2015/07/15 23:42:11 ui:     docker: 835c565d00e2: Already exists
    docker: 835c565d00e2: Already exists
2015/07/15 23:42:11 ui:     docker: c5c659229e15: Already exists
    docker: c5c659229e15: Already exists
2015/07/15 23:42:11 ui:     docker: 9a8403cd4d99: Already exists
    docker: 9a8403cd4d99: Already exists
2015/07/15 23:42:11 ui:     docker: 89fc314a0a6e: Already exists
    docker: 89fc314a0a6e: Already exists
2015/07/15 23:42:11 ui:     docker: d257698c42c5: Already exists
    docker: d257698c42c5: Already exists
2015/07/15 23:42:11 ui:     docker: c6c6baedb602: Already exists
    docker: c6c6baedb602: Already exists
2015/07/15 23:42:11 ui:     docker: c6c6baedb602: Already exists
    docker: c6c6baedb602: Already exists
2015/07/15 23:42:11 ui:     docker: Digest: sha256:4b08475f91eaccceb40fcbb5e0c43a992257b1bdedbf86f2777f458da9a0e2cd
2015/07/15 23:42:11 ui:     docker: Status: Image is up to date for gliderlabs/herokuish:latest
    docker: Digest: sha256:4b08475f91eaccceb40fcbb5e0c43a992257b1bdedbf86f2777f458da9a0e2cd
    docker: Status: Image is up to date for gliderlabs/herokuish:latest
2015/07/15 23:42:11 ui: ==> docker: Starting docker container...
==> docker: Starting docker container...
2015/07/15 23:42:11 ui:     docker: Run command: docker run -v /Users/bob/Projects/garbanzo:/tmp/app -v /var/folders/4j/hd7wss1n4xzc8xn224xsyls80000gn/T/packer-docker638187454:/packer-files -d -i -t gliderlabs/herokuish /bin/bash
2015/07/15 23:42:11 packer-builder-docker: 2015/07/15 23:42:11 Starting container with args: [run -v /Users/bob/Projects/garbanzo:/tmp/app -v /var/folders/4j/hd7wss1n4xzc8xn224xsyls80000gn/T/packer-docker638187454:/packer-files -d -i -t gliderlabs/herokuish /bin/bash]
    docker: Run command: docker run -v /Users/bob/Projects/garbanzo:/tmp/app -v /var/folders/4j/hd7wss1n4xzc8xn224xsyls80000gn/T/packer-docker638187454:/packer-files -d -i -t gliderlabs/herokuish /bin/bash
2015/07/15 23:42:11 packer-builder-docker: 2015/07/15 23:42:11 Waiting for container to finish starting
2015/07/15 23:42:11 ui:     docker: Container ID: cc6a7056923234a1264718283c1a58a1c49796d64458cefe84e5ee4941c4bf16
    docker: Container ID: cc6a7056923234a1264718283c1a58a1c49796d64458cefe84e5ee4941c4bf16
2015/07/15 23:42:11 packer-builder-docker: 2015/07/15 23:42:11 Running the provision hook
2015/07/15 23:42:11 ui: ==> docker: Provisioning with shell script: /var/folders/4j/hd7wss1n4xzc8xn224xsyls80000gn/T/packer-shell845253589
2015/07/15 23:42:11 packer-provisioner-shell: 2015/07/15 23:42:11 Opening /var/folders/4j/hd7wss1n4xzc8xn224xsyls80000gn/T/packer-shell845253589 for reading
==> docker: Provisioning with shell script: /var/folders/4j/hd7wss1n4xzc8xn224xsyls80000gn/T/packer-shell845253589
2015/07/15 23:42:11 packer-provisioner-shell: 2015/07/15 23:42:11 [INFO] 44 bytes written for 'uploadData'
2015/07/15 23:42:11 [INFO] 44 bytes written for 'uploadData'
2015/07/15 23:42:11 packer-builder-docker: 2015/07/15 23:42:11 Executing in container cc6a7056923234a1264718283c1a58a1c49796d64458cefe84e5ee4941c4bf16: "(command cp /packer-files/upload803520517 /tmp/script_7943.sh) >/packer-files/cmd416685472 2>&1; echo $? >/packer-files/cmd416685472-exit"
2015/07/15 23:42:13 packer-builder-docker: 2015/07/15 23:42:13 Waiting for exit code to appear for remote command...
^C
2015/07/15 23:50:00 Closing stdin because interrupt received.
2015/07/15 23:50:00 Stopping build: docker
2015/07/15 23:50:00 packer-post-processor-docker-tag: 2015/07/15 23:50:00 Received interrupt signal (count: 1). Ignoring.
2015/07/15 23:50:00 packer-provisioner-shell: 2015/07/15 23:50:00 Received interrupt signal (count: 1). Ignoring.
2015/07/15 23:50:00 packer-builder-docker: 2015/07/15 23:50:00 Received interrupt signal (count: 1). Ignoring.
2015/07/15 23:50:00 packer-builder-docker: 2015/07/15 23:50:00 Cancelling the step runner...
2015/07/15 23:50:01 packer-builder-docker: 2015/07/15 23:50:01 Cancelling provisioning due to interrupt...
2015/07/15 23:50:01 Provisioner.Cancel err: unexpected EOF
2015/07/15 23:50:01 /usr/local/bin/packer-provisioner-shell: plugin process exited
2015/07/15 23:50:01 ui: ==> docker: Killing the container: cc6a7056923234a1264718283c1a58a1c49796d64458cefe84e5ee4941c4bf16
==> docker: Killing the container: cc6a7056923234a1264718283c1a58a1c49796d64458cefe84e5ee4941c4bf16
2015/07/15 23:50:01 Build cancelled: docker
2015/07/15 23:50:01 ui: Build 'docker' finished.
2015/07/15 23:50:01 Builds completed. Waiting on interrupt barrier...
2015/07/15 23:50:01 ui: Cleanly cancelled builds after being interrupted.
2015/07/15 23:50:01 waiting for all plugin processes to complete...
Build 'docker' finished.
Cleanly cancelled builds after being interrupted.
2015/07/15 23:50:01 /usr/local/bin/packer-post-processor-docker-tag: plugin process exited
2015/07/15 23:50:01 /usr/local/bin/packer-builder-docker: plugin process exited

hurgué en el contenedor antes de matarlo:

$ ls /packer-files
cmd416685472       cmd416685472-exit
$ cat /packer-files/cmd416685472
cp: cannot stat '/packer-files/upload803520517': No such file or directory

Lo mismo ocurre con este problema en OSX con Packer 0.8.5 y Docker 1.8.1.

@Decipher Abrí un nuevo número para esto aquí: # 2675

Esto sigue siendo un problema en Docker 1.12.1 con el empaquetador 0.10.2

Confirmo que tengo el mismo problema con Docker 1.12.1 y Packer 0.11.0.

Para mí, esto solo sucede cuando el empaquetador se ejecuta dentro de la ventana acoplable y luego intenta aprovisionar una nueva ventana acoplable. ¿Quizás esto lo está haciendo mal?

¿Fue útil esta página
0 / 5 - 0 calificaciones