Usando a versão fonte atual do empacotador
Cenário de trabalho usando 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'
Cenário de falha usando 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'
Apenas um acompanhamento ... quando isso estava falhando, ele estava usando o docker 1.4.0 dos repositórios docker mais recentes. Acabei de fazê-lo funcionar com 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
Isso instala o Docker 1.0.1 ... e funciona perfeitamente com os mesmos arquivos do Packer.
Versão de trabalho do 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
Não trabalhando:
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, atualização final da noite ... parece que o Docker 1.4.0 é o problema. Docker 1.3.3 funciona bem:
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 o Docker 1.4.0 é o problema. Docker 1.3.3 funciona bem:
Sim, essa é a conclusão que cheguei também
Confirmado que isso ainda é um problema ao usar Docker 1.4.1
arquivo json que recria o problema:
{
"builders": [
{
"type": "docker",
"image": "ubuntu:latest",
"pull": true,
"export_path": "docker-burn.tar"
}
],
"provisioners": [
{
"type": "shell",
"inline": [
"set -x",
"set -e",
"date"
]
}
]
}
: +1: o mesmo aqui!
Uma correção ingênua seria assim:
https://github.com/mariussturm/packer/commit/3a286ab6bdba7b8e5bf6a43c357a0ffeacd3dc97
Isso quebra a compatibilidade com versões anteriores do Docker 1.3- (o que está ok imo)
@mariussturm Obrigado por 3a286ab6bdba7b8e5bf6a43c357a0ffeacd3dc97. Há um problema relacionado com o provisionador chef-solo
; o primeiro comando que ele executa (criando o staging_directory
) mata o contêiner, encerrando assim a construção. Sua solução também resolve isso.
Também posso confirmar esse problema com o Docker 1.4.1
Estou tendo o mesmo problema (relatado aqui ao usar inline
) também ao usar o elemento de script .
Então, essencialmente agora é impossível construir imagens docker v1.4.x com packer com qualquer um dos provisionadores de shell.
O erro é:
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
Com uma configuração de provisionador como:
"provisioners" : [
{
"type" : "shell",
"script" : "{{pwd}}/testsourcedir/hello.sh"
}
],
e um script de shell simples correspondente:
[dl<strong i="16">@localhost</strong> ~]$ cat testsourcedir/hello.sh
#!/bin/sh
echo "Hello"
+1, com o script
variante do shell
provisioner.
+1
Este provisioner falhou para mim com o inline
variante do shell
provisioner.
packer version
Packer v0.7.5
...
docker --version
Docker version 1.4.1, build 5bc2ff8
Com base nos comentários acima (e no commit de @mariussturm) eu construí uma caixa virtual que você pode usar com o boot2docker e tem as alterações do marius incluídas no packer fornecidas. Isso exigiu o código-fonte do empacotador e o Vagrantfile do @mitchellh para empacotador (hackeado para construir um binário de 32 bits), bem como o código-fonte de @YungSang para como construir uma caixa vagrant a partir do iso do boot2docker. Código aberto para o resgate!
Espero que isso ajude algumas pessoas que desejam usar o docker 1.4.1 com o packer dentro de um vagrant.
https://atlas.hashicorp.com/iansmith/boxes/boot2docker-plus-packer
Urgh! Acabei de encontrar este. Chave séria nas engrenagens do meu projeto.
Eu também tive esse problema. Qual é a solução alternativa atual? Fazer downgrade do docker para 1.3.3?
Tive que fazer o downgrade do docker para 1.3.3. Essa é a minha solução alternativa atual.
@vitorcoxta e @yanaga Como alternativa, você pode reconstruir sua própria versão binária do packer usando a correção proposta por mariussturm:
https://github.com/mitchellh/packer/commit/3a286ab6bdba7b8e5bf6a43c357a0ffeacd3dc97
Com o novo docker 1.5, parece lamentável que ainda tenhamos que usar 1.3.3 devido a este bug: /
Alguma hora prevista de chegada para obter este lançamento em um novo lançamento? 0,76, talvez?
: +1:
Tendo este problema com:
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
Eu criei um repositório github, https://github.com/stefancocora/packer-issue1752-fix , que contém binários do empacotador ( amd64
) construído contra o branch master com mariussturm
fix para esse assunto.
Você pode usar os binários que construí até o ponto em que os mantenedores do empacotador mesclam a correção para esse problema e lançam uma nova versão.
Os binários que construí funcionam perfeitamente para mim, adicionei uma maneira de testá-los no repositório github mencionado anteriormente, consulte README.md
@stefancocora muito obrigado pelo repositório! Posso confirmar que essa versão funciona (no Fedora 21 / x86_64, com docker 1.5.0).
Uma coisa que notei com o uso de exec
vez de attach
: seria bom usar também o sinalizador -t
, de forma que um tty seja alocado e ferramentas como sudo
work (CentOS por padrão tem Defaults requiretty
em /etc/sudoers
).
Obrigado por testar o @ankon , boa observação sobre -t
, não pensei sobre isso.
Acabei de criar um binário de packer compilado para docker com o sinalizador -t
.
Infelizmente não consegue construir uma imagem e não sei o que está causando essa falha.
Revertendo o packer para o patch sem -t
, obtenho uma compilação de imagem docker bem-sucedida.
Saída de erro da compilação do empacotador com -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.
Você sempre pode desabilitar requiretty
no arquivo sudoers e isso permitirá que o sudo funcione bem.
@stefancocora Compilei c / patch para OSX se quiser posso enviar um PR c / filial. Por enquanto, se alguém os quiser aqui estão .
@stefancocora Seu repo funciona para Arch x86_64 com docker 1.5.0. Obrigado
@chiefy não se preocupe com um PR, espero que minha construção de linux
e sua construção de osx
não precisem existir por muito tempo. Espero que isso seja corrigido no código do empacotador upstream em breve ...
@stefancocora : +1: sim, concordo.
+1
Também estou vendo esse 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 da lista de correio:
https://mail.google.com/mail/u/0/?shva=1#label/Hashicorp% 2Fpacker / 14c1113f7041d655
Oi,
embora esse problema não esteja resolvido e o patch proposto pareça funcionar, por conveniência, enviei uma versão pré-construída do linux_x64 para bintray aqui . Esta é a compilação do HEAD mestre atual, porque não pude compilar na tag v0.7.5.
Tenho trabalhado em um problema relacionado: https://github.com/mitchellh/packer/issues/1975
Este patch resolveu o problema inicial, mas agora a execução trava em
2015/03/17 13:17:47 packer-builder-docker: 2015/03/17 13:17:47 Esperando que o código de saída apareça para o comando remoto ...
Anexei ao contêiner e verifiquei se o comando foi executado e se o código de saída 0 foi gravado no arquivo de saída, mas a compilação nunca avança. Estou vendo o mesmo problema com os provisionadores shell e chef-solo no Ubuntu14.04 e CentOS6.
Packer versão 0.7.5 usando o binário corrigido de chiefy
docker-machine versão 0.1.0 usando o driver Virtualbox
O host está executando OSX 10.9.5
versão $ docker
Versão do cliente: 1.5.0
Versão da API do cliente: 1.17
Versão Go (cliente): go1.4.1
Commit do Git (cliente): a8a31ef
OS / Arch (cliente): darwin / amd64
Versão do servidor: 1.5.0
Versão da API do servidor: 1.17
Versão Go (servidor): go1.4.1
Git commit (servidor): a8a31ef
https://mail.google.com/mail/u/0/?shva=1#label/Hashicorp% 2Fpacker / 14c1113f7041d655
@kikitux Para
Também tendo este problema com packer 0.7.5 e docker 1.5.0
Também pode reproduzir no OSX usando Boot2Docker-cli version: v1.5.0
versão empacotadora
Packer v0.7.5
versão 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
O patch proposto por @alkersan não parece funcionar com um host docker remoto. Eu tenho a mesma versão do docker (1.5) em um cliente docker e servidor com a versão corrigida do packer em ambos. Funciona bem no servidor docker, mas trava no cliente
+1
+1
o mesmo para Docker 1.6
Testei os binários fornecidos por @stefancocora no CentOS 7 com Docker 1.6 e o packer funcionou.
Compilei meus próprios binários baseados no master para Fedora 21 com Docker 1.6, e o packer funcionou.
ainda trava para mim ao usar um host docker remoto, mas funciona bem localmente
ubuntu trusty e docker 1.6 também falham
Também tendo o problema em:
OpenSUSE 13.1 x86_64 && OSX 10.10
com:
$ packer version
Packer v0.7.5
e
$ 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
Acabei fazendo o downgrade para o docker 1.3.2, onde funciona (no sistema OpenSUSE).
Tentei 1.3.2 e 1.3.0 no OSX 10.10 sem sorte.
Ok, então estou entendendo que posso precisar fazer o downgrade para o docker 1.3.2 para que meus scripts de shell de compilação do packer funcionem com o docker. Alguém pode fornecer instruções sobre como instalar o docker 1.3.2 no Ubuntu (confiável), não consigo descobrir como.
ok encontrei!
sudo apt-get install lxc-docker-1.3.2
e isso resolveu o problema. Eu estava usando a última versão do docker antes, seja qual for.
Parece falhar com o docker 1.6.0 no Ubuntu 14.04 também.
Ao fazer 'sudo apt-get install lxc-docker-1.3.2' como disse o d3netxer (sem primeiro desinstalar nada), parece funcionar.
@dietervds
você experimentou os binários que criei com a correção para este problema?
https://github.com/stefancocora/packer-issue1752-fix
@mindscratch confirmou há 16 dias que os binários que criei funcionam com docker 1.6
e CentOS7
https://github.com/stefancocora/packer-issue1752-fix corrige isso para mim.
@stefancocora
https://github.com/stefancocora/packer-issue1752-fix funciona para mim no Fedora 21 com Docker 1.6.0 depois de definir SELinux para o modo permissivo. Também funciona no CentOS 7 com Docker 1.5.0, com SELinux para permissivo e no Ubuntu 15.04 com Docker 1.5.0.
Isso é quebrado apenas para provisionamento de script de shell? Parece estar falhando com o provisionador chef-solo
também, mas ainda sou muito novo no docker / chef / packer, então meu problema pode estar em outro lugar.
Versões:
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"
}
]
}
O provisionador chef-solo
é baseado no provisionador shell
, portanto, ambos estão corrompidos. É muito triste que esse bug não receba atenção da equipe principal. Parece que enviar novos produtos é mais importante do que manter os existentes. :(
De fato.
Ei @mitchellh , há uma chance de que esse bug seja corrigido para uma versão 0.8?
Oi,
Quando esta versão corrigida será lançada oficialmente? Também funciona para mim (https://github.com/stefancocora/packer-issue1752-fix)
obrigado
https://github.com/stefancocora/packer-issue1752-fix também funcionou para mim.
+1
Este é um bloqueador muito sério para quem quer fazer docker + chef. Não posso recomendar isso para minha equipe se for necessário corrigir o que parece ser metade do conjunto de ferramentas.
Na verdade, ele afeta várias partes ao usar o docker builder.
Felizmente, o patch funciona.
Na quinta-feira, 21 de maio de 2015 às 17:57, Matt Chu [email protected] escreveu:
+1
Este é um bloqueador muito sério para quem quer fazer docker + chef.
Não posso recomendar isso para minha equipe se for necessário corrigir o que
parece metade do conjunto de ferramentas.-
Responda a este e-mail diretamente ou visualize-o no GitHub
https://github.com/mitchellh/packer/issues/1752#issuecomment -104444469.
também estou bloqueado ao usar docker + chef, como @thmttch ..
Espero que os mantenedores consigam mesclá-lo em breve (o fato de que eles não me preocupam que possam ter outra solução em mente?)
apenas topei com isso também. Vou tentar o patch como uma solução alternativa. Usando docker-machine e docker 1.6.2
Fixo!
OBRIGADO @mitchellh !!!! Eu estava prestes a aposentar o packer em favor do Docerkfiles ( tremor ) porque isso estava interrompendo minha implantação. Você continua a ser um dos meus heróis constantes, salvando-me horas e horas da minha vida.
IMPRESSIONANTE!! \ m /
Obrigado!!
Em 29 de maio de 2015 às 20:56, Mitchell Hashimoto [email protected]
escrevi:
Closed # 1752 https://github.com/mitchellh/packer/issues/1752.
-
Responda a este e-mail diretamente ou visualize-o no GitHub
https://github.com/mitchellh/packer/issues/1752#event -317473314.
Grande ajuda, obrigado!
Peço desculpas pelo longo atraso :( Em breve lançaremos um Packer com várias correções de bugs do Docker.
notícias fantásticas! estaremos ansiosos por isso;)
Obrigado! Estou ansioso por isso!
@mitchellh Quando está planejado o próximo lançamento que inclui esta correção?
@stefancocora Obrigado pela correção temporária!
Rapazes incríveis. Ótimo trabalho!
@aidanjl não tem problema, é o mínimo que eu poderia fazer para tornar a correção do @mariussturm facilmente acessível para qualquer pessoa!
@mitchellh atualize o empacotador que o Atlas está usando com esta correção também, porque atualmente eu não consigo construir nenhuma imagem docker no Atlas. Preciso disso para demonstrar o Atlas ao meu gerente nesta quinta-feira, pois podemos comprar o Atlas.
No momento, estou executando o Packer 0.8-dev e o Docker 1.6.2 no OS X e ainda vejo esse 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...
Também tentei fazer o downgrade para o Docker 1.3.3 e encontrei a mesma coisa.
O Packer v0.8.0 foi marcado e lançado na página de downloads ontem, o que deve realmente corrigir isso. Está funcionando para mim com o Docker 1.5.0, depois de atualizar o Packer 0.7.5 para 0.8.0.
verificado e funcionando corretamente com Packer v0.8.0
e docker Client version: 1.6.2
em um host Ubuntu 14.04 x64.
Ainda estou tendo esse problema no osx. Packer versão 0.8.0, docker versão 1.6.2 e 1.7.0. Vou tentar uma distribuição Linux para ver se tenho mais sorte.
O mesmo que @ lukeowen89
Ainda não consigo empacotar no osx neste momento.
Também quebrado para mim no OSX. Packer 0.8.1, Docker 1.7.1
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
$ ls /packer-files
cmd416685472 cmd416685472-exit
$ cat /packer-files/cmd416685472
cp: cannot stat '/packer-files/upload803520517': No such file or directory
Idem, enfrentando esse problema no OSX com Packer 0.8.5 e Docker 1.8.1.
@Decipher Abri um novo problema para isso aqui: # 2675
Isso ainda é um problema no Docker 1.12.1 com packer 0.10.2
Confirmo que estou tendo o mesmo problema usando Docker 1.12.1 e Packer 0.11.0.
Para mim, isso só acontece quando o packer está sendo executado dentro do docker e, em seguida, tenta provisionar um novo docker. Talvez isso esteja fazendo errado?
Comentários muito úteis
Para mim, isso só acontece quando o packer está sendo executado dentro do docker e, em seguida, tenta provisionar um novo docker. Talvez isso esteja fazendo errado?