packerでdockerのイメージを作成しようとしてたんですが、なぜか途中で止まってしまう問題が発生しました。
なぜだろうといろいろと調べてた見ましたが、特に設定が間違っているわけでもありませんでした。
とりあえずログをだしながら、実行してみた。
1
|
$ PACKER_LOG=1 packer build packer.json
|
て感じにビルドして、ログを出してみました。
どうやらログをだしていると、以下の様なメッセージが出て止まってしまいました。
1
2
|
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
の中身をみてみます。
1
2
3
|
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1e9db571db93 centos:centos7 "/bin/bash" 15 minutes ago Up 15 minutes agitated_brattain
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
$ 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してあげます。
1
2
|
$ mkdir ~/tmp
$ export TMPDIR=~/tmp
|
そしてまたbuildする
1
|
$ packer build packer.json
|
これで無事にbuildできました。
めでたしめでたし。