polidog lab++

Blog
packerでDocker Imageをbuildしたら、「Waiting for exit code to appear for remote command...」ってところで止まる問題

packerでDocker Imageをbuildしたら、「Waiting for exit code to appear for remote command...」ってところで止まる問題

Nov 27, 2015 | tech | packer docker

packerでdockerのイメージを作成しようとしてたんですが、なぜか途中で止まってしまう問題が発生しました。 なぜだろうといろいろと調べてた見ましたが、特に設定が間違っているわけでもありませんでした。

とりあえずログをだしながら、実行してみた。

$ PACKER_LOG=1 packer build packer.json

て感じにビルドして、ログを出してみました。 どうやらログをだしていると、以下の様なメッセージが出て止まってしまいました。

2015/11/27 21:21:57 packer-builder-docker: 2015/11/27 21:21:57 Executing in container 1e9db571db932c5ec15bf67654239ceb12cd02388fba5c3a592ae95911b87890: "(curl -L https://www.opscode.com/chef/install.sh | bash) >/packer-files/cmd740998242 2>&1; echo $? >/packer-files/cmd740998242-exit"
2015/11/27 21:25:42 packer-builder-docker: 2015/11/27 21:25:42 Waiting for exit code to appear for remote command...

「Waiting for exit code to appear for remote command…」って??? ということで、とりあえずdockerコンテナに接続してcmd740998242の中身をみてみます。

$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
1e9db571db93        centos:centos7      "/bin/bash"         15 minutes ago      Up 15 minutes                           agitated_brattain
$ docker attach agitated_brattain
[root@c43db5304bd9 /] #cat packer /packer-files/cmd740998242
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                               Dload  Upload   Total   Spent    Left  Speed
100 18736  100 18736    0     0   8727      0  0:00:02  0:00:02 --:--:--  8730
Downloading Chef  for el...
downloading https://www.opscode.com/chef/metadata?v=&prerelease=false&nightlies=false&p=el&pv=7&m=x86_64
to file /tmp/install.sh.27/metadata.txt
trying curl...
url	https://opscode-omnibus-packages.s3.amazonaws.com/el/7/x86_64/chef-12.5.1-1.el7.x86_64.rpm
md5	9333136ba8a11bd6cad6d28fcd26a2c7
sha256	7a937d8c0ab68a1f342aba4ad33417fc4ba8cb1a71f46e4a18b5e76c363e4075
downloaded metadata file looks valid...
downloading https://opscode-omnibus-packages.s3.amazonaws.com/el/7/x86_64/chef-12.5.1-1.el7.x86_64.rpm
to file /tmp/install.sh.27/chef-12.5.1-1.el7.x86_64.rpm
trying curl...

どうやら・・・chefダウンロードで終わってしまっている。。。

TMPDIRを設定する

ぐぐってみるとTMPDIRをちゃんと設定すればいい的な記事がでてきました。 https://github.com/mitchellh/packer/issues/901#issuecomment-125182430

ということでpacker buildするまえにexportしてあげます。

$ mkdir ~/tmp
$ export TMPDIR=~/tmp

そしてまたbuildする

$ packer build packer.json

これで無事にbuildできました。 めでたしめでたし。

comments powered by Disqus

関連記事

© 2017 polidog lab++