Packer: Scripts shell interrompus avec Docker 1.4.x

Créé le 12 déc. 2014  ·  85Commentaires  ·  Source: hashicorp/packer

Utilisation de la version source actuelle de packer

Scénario de travail utilisant 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'

Scénario d'échec utilisant 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

Commentaire le plus utile

Pour moi, cela ne se produit que lorsque packer s'exécute à l'intérieur de docker et tente ensuite de provisionner un nouveau docker. Peut-être que cela fait mal?

Tous les 85 commentaires

Juste un suivi ... quand cela a échoué, il utilisait docker 1.4.0 des derniers dépôts de docker. Je viens de le faire fonctionner avec ce Vagrantfile modifié:

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

Cela installe Docker 1.0.1 ... et cela fonctionne parfaitement avec les mêmes fichiers Packer.

Version Docker de travail:

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

Ne fonctionne pas:

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 dernière mise à jour pour la nuit ... il semble que Docker 1.4.0 soit le problème. Docker 1.3.3 fonctionne 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

il semble que Docker 1.4.0 soit le problème. Docker 1.3.3 fonctionne bien:

Ouais, c'est la conclusion que je suis venue aussi

Confirmé que c'est toujours un problème lors de l'utilisation de Docker 1.4.1

json qui recrée le problème:

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

: +1: pareil ici!

Une solution naïve ressemblerait à ceci:

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

Cela rompt la rétrocompatibilité avec Docker 1.3- (ce qui est ok imo)

@mariussturm Merci pour 3a286ab6bdba7b8e5bf6a43c357a0ffeacd3dc97. Il y a un problème lié avec le provisioner chef-solo ; la première commande qu'il exécute (créant le staging_directory ) tue le conteneur, mettant ainsi fin à la construction. Votre solution résout cela également.

Je peux également confirmer ce problème avec Docker 1.4.1

J'ai le même problème (signalé ici lors de l'utilisation de inline ) également lors de l'utilisation de l'élément de script .
Donc, essentiellement pour le moment, il est impossible de créer des images docker v1.4.x avec packer avec l'un des fournisseurs de shell.

L'erreur est:

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

Avec une configuration de provisioner comme:

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

et un script shell simple correspondant:

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

+1, avec script variante du shell approvisionneur.

+1
Ce approvisionneur a échoué pour moi avec le inline variante du shell approvisionneur.

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

Sur la base des commentaires ci-dessus (et du commit de @mariussturm), j'ai construit une boîte virtuelle que vous pouvez utiliser avec boot2docker et le changement de marius est intégré au packer fourni. Cela nécessitait le code source pour packer et le fichier Vagrantfile pour packer de @mitchellh (piraté pour construire un binaire 32 bits) ainsi que le code source de

J'espère que cela aidera certaines personnes qui souhaitent utiliser docker 1.4.1 avec packer dans un vagabond.

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

Urgh! Je viens de tomber sur celui-ci. Clé sérieuse dans les engrenages pour mon projet.

J'ai également rencontré ce problème. Quelle est la solution de contournement actuelle? Rétrograder docker à 1.3.3?

J'ai dû rétrograder docker à 1.3.3. C'est ma solution de contournement actuelle.

@vitorcoxta et @yanaga Vous pouvez également reconstruire votre propre version binaire du packer en utilisant le correctif proposé par mariussturm:

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

Avec le nouveau docker 1.5, il semble dommage que nous devions encore utiliser 1.3.3 à cause de ce bogue: /

Un ETA pour obtenir cela dans une nouvelle version? 0,76, peut-être?

: +1:

Avoir ce problème avec:

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

J'ai créé un repo github, https://github.com/stefancocora/packer-issue1752-fix , qui contient des binaires de packer ( amd64 ) construits contre la branche master avec mariussturm fix pour ce problème.
Vous pouvez utiliser les binaires que j'ai construits au point où les responsables du packer fusionnent le correctif de ce problème et publient une nouvelle version.
Les binaires que j'ai construits fonctionnent parfaitement pour moi, j'ai ajouté un moyen de les tester dans le référentiel github susmentionné, voir README.md

@stefancocora merci beaucoup pour le référentiel! Je peux confirmer que cette version fonctionne (sur Fedora 21 / x86_64, avec docker 1.5.0).

Une chose que j'ai remarquée avec l'utilisation de exec au lieu de attach : ce serait bien d'utiliser également le drapeau -t , pour qu'un tty soit alloué, et des outils comme sudo work (CentOS par défaut a Defaults requiretty dans /etc/sudoers ).

Merci d'avoir testé @ankon , bon point à propos de -t , je n'y ai pas pensé.
Je viens de créer un binaire de packer compilé pour docker avec l'indicateur -t .
Malheureusement, il ne parvient pas à créer une image et je ne sais pas ce qui cause cet échec.
Revenir packer au patch sans -t J'obtiens une construction d'image docker réussie.

Erreur de sortie de la compilation du packer avec -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.

Vous pouvez toujours désactiver requiretty dans le fichier sudoers et cela permettra à sudo de fonctionner correctement.

@stefancocora J'ai compilé avec le patch pour OSX si vous voulez, je peux soumettre un PR avec une branche. Pour l'instant, si quelqu'un les veut ici, ils sont .

@stefancocora Votre repo fonctionne pour Arch x86_64 avec docker 1.5.0. Je vous remercie

@chiefy ne vous inquiétez pas pour un PR, j'espère que ma build pour linux et votre build pour osx n'auront pas à exister longtemps. J'espère que cela sera bientôt corrigé dans le code du packer en amont ...

@stefancocora : +1: oui, je suis d'accord.

+1

Je vois également ce problème.

$ 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 liste de diffusion:

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

Salut,
alors que ce problème n'est pas résolu et que le correctif proposé semble fonctionner, pour plus de commodité, j'ai poussé une version pré-construite de linux_x64 vers bintray ici . Il s'agit de la version actuelle du maître HEAD, car je ne pouvais pas construire à la balise v0.7.5.

J'ai travaillé sur un problème connexe: https://github.com/mitchellh/packer/issues/1975

Ce patch a résolu le problème initial, mais maintenant l'exécution s'arrête à

2015/03/17 13:17:47 packer-builder-docker: 2015/03/17 13:17:47 En attente de l'affichage du code de sortie pour la commande à distance ...

Je me suis attaché au conteneur et j'ai vérifié que la commande était exécutée et que le code de sortie 0 était écrit dans le fichier de sortie, mais la construction ne progressait jamais. Je vois le même problème avec les approvisionneurs shell et chef-solo sur Ubuntu14.04 et CentOS6.

Packer version 0.7.5 utilisant le binaire patché de Chiefy
docker-machine version 0.1.0 utilisant le pilote Virtualbox
L'hôte exécute OSX 10.9.5

$ version docker
Version du client: 1.5.0
Version de l'API client: 1.17
Version Go (client): go1.4.1
Git commit (client): a8a31ef
OS / Arch (client): darwin / amd64
Version du serveur: 1.5.0
Version de l'API serveur: 1.17
Version Go (serveur): go1.4.1
Git commit (serveur): a8a31ef

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

@kikitux FYI: c'est un lien vers quelque chose dans votre boîte de réception Gmail. On ne peut pas voir ça.

Avoir également ce problème avec packer 0.7.5 et docker 1.5.0

Également capable de reproduire sur OSX en utilisant Boot2Docker-cli version: v1.5.0

version packer

Packer v0.7.5

version 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

Le correctif proposé par @alkersan ne semble pas fonctionner avec un hôte docker distant. J'ai la même version docker (1.5) sur un client et un serveur docker avec la version corrigée de packer sur les deux. Cela fonctionne bien sur le serveur docker, mais se bloque sur le client

+1

+1

pareil pour Docker 1.6

J'ai testé les binaires fournis par @stefancocora sur CentOS 7 avec Docker 1.6 et le packer a fonctionné.

J'ai compilé mes propres binaires basés sur master pour Fedora 21 avec Docker 1.6, et le packer a fonctionné.

se bloque toujours pour moi lors de l'utilisation d'un hôte docker distant, mais fonctionne correctement localement

ubuntu trusty et docker 1.6 échouent également

Avoir également le problème sur les deux:
OpenSUSE 13.1 x86_64 et OSX 10.10

avec:

$ packer version
Packer v0.7.5

et

$ 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

J'ai fini par rétrograder vers docker 1.3.2 où cela fonctionne (sur le système OpenSUSE).
J'ai essayé 1.3.2 et 1.3.0 sur OSX 10.10 sans succès.

Ok, donc je comprends que je devrai peut-être revenir à docker 1.3.2 pour que mes scripts shell de compilation fonctionnent avec docker. Quelqu'un peut-il fournir des instructions sur la façon d'installer docker 1.3.2 sur Ubuntu (fidèle), je ne peux pas savoir comment.

ok trouvé!

sudo apt-get install lxc-docker-1.3.2

et cela a résolu le problème. J'utilisais la dernière version de docker avant, quelle qu'elle soit.

Semble également échouer avec docker 1.6.0 sur Ubuntu 14.04.
Lorsque vous faites 'sudo apt-get install lxc-docker-1.3.2' comme l'a dit d3netxer (sans rien désinstaller au préalable), cela semble fonctionner.

@dietervds
avez-vous essayé les binaires que j'ai créés avec le correctif de ce problème?
https://github.com/stefancocora/packer-issue1752-fix

@mindscratch a confirmé il y a 16 jours que les binaires que j'ai créés fonctionnent avec docker 1.6 et CentOS7

@stefancocora
https://github.com/stefancocora/packer-issue1752-fix fonctionne pour moi sur Fedora 21 avec Docker 1.6.0 une fois que j'ai mis SELinux en mode permissif. Il fonctionne également sur CentOS 7 avec Docker 1.5.0, avec SELinux vers Permissive et sur Ubuntu 15.04 avec Docker 1.5.0.

Est-ce uniquement interrompu pour l'approvisionnement des scripts shell? Il semble également échouer avec le provisionneur chef-solo , mais je suis encore très nouveau dans docker / chef / packer, donc mon problème pourrait être ailleurs.

Versions:
Docker v1.5
Packer v0.7.5

modèle:

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

Le provisioner chef-solo est basé sur le provisioner shell , donc les deux sont cassés. Très triste que ce bug ne retienne pas l'attention de l'équipe principale. Il semble que l'envoi de nouveaux produits soit plus important que le maintien des produits existants. :(

En effet.

Hey @mitchellh , y a-t-il une chance que ce bogue soit corrigé pour une version 0.8?

Salut,

Quand cette version corrigée sera-t-elle officiellement sortie? Cela fonctionne aussi pour moi (https://github.com/stefancocora/packer-issue1752-fix)

Merci

+1

C'est un bloqueur assez sérieux pour quiconque veut faire docker + chef. Je ne peux pas le recommander à mon équipe si cela nécessite de corriger ce qui ressemble à la moitié de la chaîne d'outils.

Cela a en fait un impact sur un certain nombre de pièces lors de l'utilisation du constructeur de docker.
Heureusement, le patch fonctionne.

Le jeudi 21 mai 2015 à 17h57, Matt Chu [email protected] a écrit:

+1

C'est un bloqueur assez sérieux pour quiconque veut faire docker + chef.
Je ne peux pas le recommander à mon équipe si cela nécessite un correctif
ressemble à la moitié de la chaîne d'outils.

-
Répondez directement à cet e-mail ou affichez-le sur GitHub
https://github.com/mitchellh/packer/issues/1752#issuecomment -104444469.

Je suis également bloqué sur l'utilisation de docker + chef, comme @thmttch ..
j'espère que les mainteneurs pourront bientôt le fusionner (le fait qu'ils ne m'inquiètent pas d'avoir une autre solution en tête?)

vient de rencontrer cela aussi. Essayera le correctif comme solution de contournement. Utilisation de docker-machine et docker 1.6.2

Fixé!

MERCI @mitchellh !!!! J'étais sur le point de retirer Packer au profit de Docerkfiles ( frisson ) car cela interrompait mon déploiement. Vous continuez à être l'un de mes héros constants qui me sauve des heures et des heures de ma vie.

IMPRESSIONNANT!! \ m /
Merci!!

Le 29 mai 2015 à 20h56, Mitchell Hashimoto [email protected]
a écrit:

Fermé # 1752 https://github.com/mitchellh/packer/issues/1752.

-
Répondez directement à cet e-mail ou affichez-le sur GitHub
https://github.com/mitchellh/packer/issues/1752#event -317473314.

Une aide énorme, merci!

Je m'excuse pour le long retard: (Nous publierons très prochainement une version de Packer avec de nombreuses corrections de bogues Docker.

fantastique nouvelle! attendra avec impatience;)

Merci! J'attendais cela avec impatience!

@mitchellh Quand est prévue la prochaine version incluant ce correctif?

@stefancocora Merci pour la correction provisoire!

des types impressionnants. Bon travail!

@aidanjl pas de problème, c'est le moins que je puisse faire pour rendre @mariussturm fix facilement accessible à tout le monde!

@mitchellh veuillez également mettre à niveau le packer qu'Atlas utilise avec ce correctif, car actuellement je ne peux pas créer d'images de docker dans Atlas. J'en ai besoin pour faire une démonstration d'Atlas à mon manager ce jeudi car nous pouvons acheter Atlas.

J'utilise actuellement Packer 0.8-dev et Docker 1.6.2 sur OS X et je vois toujours ce problème.

==> 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...

J'ai également essayé de passer à Docker 1.3.3 et de rencontrer la même chose.

Packer v0.8.0 a été tagué et publié sur la page de téléchargement hier, ce qui devrait en fait résoudre ce problème. Cela fonctionne pour moi avec Docker 1.5.0, après la mise à niveau de Packer 0.7.5 vers 0.8.0.

vérifié et fonctionne correctement avec Packer v0.8.0 et docker Client version: 1.6.2 sur un hôte Ubuntu 14.04 x64.

Je rencontre toujours ce problème sur osx. Packer version 0.8.0, version docker 1.6.2 et 1.7.0. J'essaierai une distribution Linux pour voir si j'ai plus de chance.

Identique à @ lukeowen89
Une sorte de traînée que je ne peux toujours pas emballer sur osx à ce stade.

Également cassé pour moi sur OSX. Packer 0.8.1, Docker 1.7.1

journal de débogage du packer

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

fouillé sur le conteneur avant de le tuer:

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

Idem, rencontrant ce problème sur OSX avec Packer 0.8.5 et Docker 1.8.1.

@Decipher J'ai ouvert un nouveau numéro pour ceci ici: # 2675

C'est toujours un problème sur Docker 1.12.1 avec packer 0.10.2

Je confirme avoir le même problème en utilisant Docker 1.12.1 et Packer 0.11.0.

Pour moi, cela ne se produit que lorsque packer s'exécute à l'intérieur de docker et tente ensuite de provisionner un nouveau docker. Peut-être que cela fait mal?

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

Tensho picture Tensho  ·  3Commentaires

shantanugadgil picture shantanugadgil  ·  3Commentaires

brettswift picture brettswift  ·  3Commentaires

mushon4 picture mushon4  ·  3Commentaires

Nikoos picture Nikoos  ·  3Commentaires