Packer: Сценарии оболочки, сломанные в Docker 1.4.x

Созданный на 12 дек. 2014  ·  85Комментарии  ·  Источник: hashicorp/packer

Использование текущей исходной версии упаковщика

Сценарий работы с использованием докера 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'

Сценарий сбоя с использованием 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

Самый полезный комментарий

Для меня это происходит только тогда, когда упаковщик работает внутри докера, а затем пытается подготовить новый докер. Может, это неправильно?

Все 85 Комментарий

Просто продолжение .. когда это не удалось, он использовал докер 1.4.0 из последних репозиториев докеров. Я только что заставил его работать с этим измененным Vagrantfile:

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

Это устанавливает Docker 1.0.1 ... и он отлично работает с теми же файлами Packer.

Рабочая версия 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

Нерабочий:

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

Хорошо, последнее обновление на ночь ... похоже, проблема в Docker 1.4.0. Docker 1.3.3 отлично работает:

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

похоже, проблема в Docker 1.4.0. Docker 1.3.3 отлично работает:

Да, я тоже пришел к такому выводу

Подтверждено, что это все еще проблема при использовании Docker 1.4.1

json, который воссоздает проблему:

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

: +1: и здесь!

Наивное исправление могло бы выглядеть так:

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

Это нарушает обратную совместимость с Docker 1.3- (что нормально, имо)

@mariussturm Спасибо за 3a286ab6bdba7b8e5bf6a43c357a0ffeacd3dc97. Связанная проблема связана с поставщиком chef-solo ; первая запускаемая команда (создание staging_directory ) убивает контейнер, завершая сборку. Ваше решение также решает эту проблему.

Я также могу подтвердить эту проблему с помощью Docker 1.4.1.

У меня такая же проблема (о которой сообщается здесь при использовании inline ) также при использовании элемента скрипта .
По сути, сейчас невозможно создать образы docker v1.4.x с упаковщиком с любым из инициаторов оболочки.

Ошибка:

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

С конфигурацией инициатора, например:

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

и соответствующий простой сценарий оболочки:

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

+1 с вариантом script инициатора shell .

+1
Этот провайдер потерпел неудачу для меня с вариантом inline обеспечения shell .

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

Основываясь на комментариях выше (и на фиксации @mariussturm), я построил виртуальный бокс-бокс, который вы можете использовать с boot2docker, и в нем есть изменения, внесенные Мариусом в предоставленный упаковщик. Для этого потребовался исходный код для упаковщика и Vagrantfile @mitchellh для упаковщика (взломанный для сборки 32-битного двоичного файла ), а также исходный код

Надеюсь, это поможет некоторым людям, которые хотят использовать docker 1.4.1 с упаковщиком внутри бродяги.

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

Ура! Просто столкнулся с этим. Серьезная проблема для моего проекта.

Я тоже столкнулся с этой проблемой. Каков текущий обходной путь? Понизить докер до 1.3.3?

Пришлось понизить версию докера до 1.3.3. Это мой текущий обходной путь.

@vitorcoxta и @yanaga В качестве альтернативы вы можете пересобрать собственную двоичную версию упаковщика, используя исправление, предложенное mariussturm:

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

К сожалению, с новым докером 1.5 нам все еще приходится использовать 1.3.3 из-за этой ошибки: /

Есть ли ожидаемое время прибытия в новую версию? 0,76, может?

: +1:

Имея эту проблему с:

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

Я создал репозиторий github, https://github.com/stefancocora/packer-issue1752-fix , который содержит двоичные файлы упаковщика ( amd64 ), созданные против основной ветки с исправлением mariussturm для Эта проблема.
Вы можете использовать созданные мной двоичные файлы до того момента, когда сопровождающие упаковщика объединят исправление для этой проблемы и выпустят новую версию.
Созданные мной двоичные файлы работают для меня безупречно, я добавил способ их тестирования в вышеупомянутом репозитории на github, см. README.md

@stefancocora большое спасибо за репозиторий! Я могу подтвердить, что эта версия работает (в Fedora 21 / x86_64 с докером 1.5.0).

Одна вещь, которую я заметил при использовании exec вместо attach : было бы неплохо также использовать флаг -t , чтобы выделялся tty, и такие инструменты, как sudo work (CentOS по умолчанию имеет Defaults requiretty в /etc/sudoers ).

Спасибо за тестирование @ankon , хорошее замечание по поводу -t , не думал об этом.
Я только что создал двоичный пакет упаковщика, скомпилированный для докера с флагом -t .
К сожалению, не удается создать образ, и я не знаю, что вызывает этот сбой.
Возвращая упаковщик к патчу без -t я получаю успешную сборку образа докера.

Вывод ошибок из сборки упаковщика с -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.

Вы всегда можете отключить requiretty в файле sudoers, и это позволит sudo нормально работать.

@stefancocora Я скомпилировал с патчем для OSX, если хотите, могу отправить PR с веткой. А пока, если они кому-то нужны, вот они .

@stefancocora Ваше репо работает для Arch x86_64 с docker 1.5.0. Спасибо

@chiefy , не беспокойтесь о PR, я надеюсь, что моя сборка за linux и ваша сборка за osx не просуществуют долго. Я надеюсь, что это скоро будет исправлено в исходном коде упаковщика ...

@stefancocora : +1: да, я согласен.

+1

Я тоже вижу эту проблему.

$ 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 Из списка рассылки:

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

Привет,
хотя эта проблема не решена и предлагаемый патч, похоже, работает, для удобства я поместил здесь предварительно созданную версию linux_x64 в bintray. Это сборка текущей главной HEAD, потому что я не мог собрать с тегом v0.7.5.

Я работал над связанной проблемой: https://github.com/mitchellh/packer/issues/1975

Этот патч решил первоначальную проблему, но теперь запуск зависает на

2015.03.17 13:17:47 packer-builder-docker: 2015.03.17 13:17:47 Ожидание появления кода выхода для удаленной команды ...

Я подключился к контейнеру и убедился, что команда выполнена, и код выхода 0 был записан в файл выхода, но сборка не выполняется. Я вижу ту же проблему как с оболочкой, так и с инициаторами chef-solo в Ubuntu14.04 и CentOS6.

Packer Version 0.7.5 с использованием исправленного двоичного файла от Chiefy
docker-machine версии 0.1.0 с использованием драйвера Virtualbox
Хост работает под управлением OSX 10.9.5

версия $ docker
Версия клиента: 1.5.0
Версия клиентского API: 1.17
Версия Go (клиент): go1.4.1
Git commit (клиент): a8a31ef
ОС / Arch (клиент): darwin / amd64
Версия сервера: 1.5.0
Версия серверного API: 1.17
Версия Go (сервер): go1.4.1
Git commit (сервер): a8a31ef

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

@kikitux К вашему сведению: это ссылка на что-то в вашем почтовом ящике Gmail. Мы этого не видим.

Также есть эта проблема с упаковщиком 0.7.5 и докером 1.5.0

Также можно воспроизводить на OSX, используя Boot2Docker-cli version: v1.5.0

версия упаковщика

Packer v0.7.5

версия докера

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

Патч, предложенный @alkersan, похоже , не работает с удаленным хостом

+1

+1

то же самое для Docker 1.6

Я тестировал двоичные файлы, предоставленные @stefancocora, на CentOS 7 с Docker 1.6, и упаковщик работал.

Я скомпилировал свои собственные двоичные файлы на основе master для Fedora 21 с Docker 1.6, и упаковщик работал.

все еще зависает у меня при использовании удаленного хоста докеров, но отлично работает локально

ubuntu trusty и docker 1.6 тоже не работает

Также есть проблема с обоими:
OpenSUSE 13.1 x86_64 && OSX 10.10

с участием:

$ packer version
Packer v0.7.5

и

$ 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

В итоге я перешел на докер 1.3.2, где это работает (в системе OpenSUSE).
Я пробовал 1.3.2 и 1.3.0 на OSX 10.10, но безуспешно.

Хорошо, поэтому я понимаю, что мне может потребоваться перейти на докер 1.3.2, чтобы заставить мои сценарии оболочки сборки упаковщика работать с докером. Может ли кто-нибудь дать инструкции по установке докера 1.3.2 на Ubuntu (надежный), я не могу понять, как это сделать.

хорошо нашел!

sudo apt-get install lxc-docker-1.3.2

и это устранило проблему. Раньше я использовал последнюю версию докера, какой бы она ни была.

Кажется, что это не так с докером 1.6.0 на Ubuntu 14.04.
При выполнении sudo apt-get install lxc-docker-1.3.2, как сказал d3netxer (без предварительного удаления чего-либо), похоже, что он работает.

@dietervds
Вы пробовали двоичные файлы, которые я создал с исправлением этой проблемы?
https://github.com/stefancocora/packer-issue1752-fix

@mindscratch подтвердил 16 дней назад, что созданные мной двоичные файлы работают с docker 1.6 и CentOS7

https://github.com/stefancocora/packer-issue1752-fix исправляет это для меня.

@stefancocora
https://github.com/stefancocora/packer-issue1752-fix у меня работает в Fedora 21 с Docker 1.6.0 после того, как я установил SELinux в разрешающий режим. Он также работает на CentOS 7 с Docker 1.5.0, с SELinux на Permissive и на Ubuntu 15.04 с Docker 1.5.0.

Это не работает только для подготовки сценария оболочки? Кажется, это тоже не удается с поставщиком chef-solo , но я все еще новичок в docker / chef / packer, поэтому моя проблема может быть где-то еще.

Версии:
Докер v1.5
Пакер v0.7.5

шаблон:

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

Провайдер chef-solo основан на провайдере shell , поэтому оба не работают. Очень печально, что эта ошибка не привлекает внимания основной команды. Кажется, что доставка новых продуктов важнее, чем поддержание существующих. :(

Конечно.

Привет, @mitchellh , есть ли шанс исправить эту ошибку в выпуске 0.8?

Привет,

Когда будет официально выпущена эта исправленная версия? У меня тоже работает (https://github.com/stefancocora/packer-issue1752-fix)

благодаря

https://github.com/stefancocora/packer-issue1752-fix также работал у меня.

+1

Это довольно серьезный блокировщик для всех, кто хочет заниматься docker + chef. Я не могу рекомендовать это своей команде, если это требует исправления того, что похоже на половину набора инструментов.

На самом деле это влияет на несколько частей при использовании построителя докеров.
К счастью, патч работает.

21 мая 2015 г. в 17:57 Мэтт Чу [email protected] написал:

+1

Это довольно серьезный блокировщик для всех, кто хочет заниматься docker + chef.
Я не могу рекомендовать это своей команде, если это требует исправления того, что
похоже на половину цепочки инструментов.

-
Ответьте на это письмо напрямую или просмотрите его на GitHub
https://github.com/mitchellh/packer/issues/1752#issuecomment -104444469.

я также заблокирован при использовании docker + chef, например @thmttch ..
Я надеюсь, что сопровождающие скоро дойдут до его объединения (факт, что они не беспокоят меня, что они могут иметь в виду другое решение?)

просто столкнулся с этим. Попробую патч как обходной путь. Использование docker-machine и docker 1.6.2

Исправлена!

СПАСИБО @mitchellh !!!! Я собирался отказаться от упаковщика в пользу Docerkfiles ( дрожь ), потому что это мешало моему развертыванию. Ты продолжаешь быть одним из моих постоянных героев, спасая мне часы и часы моей жизни.

ЗДОРОВО!! \ м /
Благодаря!!

29 мая 2015 года в 20:56, Митчелл Хашимото [email protected]
написал:

Закрыт № 1752 https://github.com/mitchellh/packer/issues/1752.

-
Ответьте на это письмо напрямую или просмотрите его на GitHub
https://github.com/mitchellh/packer/issues/1752#event -317473314.

Огромная помощь, спасибо!

Прошу прощения за долгую задержку :( В ближайшее время мы выпустим релиз Packer с множеством исправлений ошибок Docker.

фантастические новости! буду с нетерпением ждать этого;)

Благодаря! Ждали этого с нетерпением!

@mitchellh Когда планируется следующий выпуск, включающий это исправление?

@stefancocora Спасибо за временное исправление!

классные ребята. Отличная работа!

@aidanjl без проблем, это меньшее, что я мог сделать, чтобы сделать @mariussturm fix доступным для всех!

@mitchellh, пожалуйста, обновите упаковщик, который использует Atlas, с этим исправлением, потому что в настоящее время я не могу создавать образы докеров в Atlas. Мне нужно это, чтобы продемонстрировать Атлас моему менеджеру в этот четверг, потому что мы можем купить Атлас.

В настоящее время я использую Packer 0.8-dev и Docker 1.6.2 в OS X и все еще вижу эту проблему.

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

Я также пробовал перейти на Docker 1.3.3 и столкнулся с тем же.

Packer v0.8.0 был помечен и выпущен на странице загрузок вчера, что должно исправить это. У меня он работает с Docker 1.5.0 после обновления Packer 0.7.5 до 0.8.0.

проверено и правильно работает с Packer v0.8.0 и docker Client version: 1.6.2 на хосте Ubuntu 14.04 x64.

У меня все еще возникает эта проблема в OSX. Пакер версии 0.8.0, докер версии 1.6.2 и 1.7.0. Пройдусь на дистрибутив Linux, чтобы посмотреть, повезет ли мне еще.

То же, что @ lukeowen89
Вид тормозов, которые я до сих пор не могу упаковать на osx.

Также сломан для меня на OSX. Пакер 0.8.1, Докер 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

То же самое, эта проблема возникла в OSX с Packer 0.8.5 и Docker 1.8.1.

@Decipher Я открыл для этого новую проблему: # 2675

Это все еще проблема в Docker 1.12.1 с упаковщиком 0.10.2

Я подтверждаю наличие такой же проблемы с использованием Docker 1.12.1 и Packer 0.11.0.

Для меня это происходит только тогда, когда упаковщик работает внутри докера, а затем пытается подготовить новый докер. Может, это неправильно?

Была ли эта страница полезной?
0 / 5 - 0 рейтинги