Использование текущей исходной версии упаковщика
Сценарий работы с использованием докера 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'
Просто продолжение .. когда это не удалось, он использовал докер 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.
Для меня это происходит только тогда, когда упаковщик работает внутри докера, а затем пытается подготовить новый докер. Может, это неправильно?
Самый полезный комментарий
Для меня это происходит только тогда, когда упаковщик работает внутри докера, а затем пытается подготовить новый докер. Может, это неправильно?