Commit graph

221 commits

Author SHA1 Message Date
guessi
c5e01da3c6 Conditional ignore force flag for docker-tag
`docker tag -f` will now become an error, since it was removed after
upgrading docker daemon to 1.12.0 (or later)

this PR is to bypass `force` flag if docker >= 1.12.0 was detected

reference:
- https://docs.docker.com/engine/deprecated/#/f-flag-on-docker-tag

Signed-off-by: guessi <guessi@gmail.com>
2017-02-16 00:50:46 +08:00
Matthew Hooker
c41e32dbc1
print stderr on docker import failure 2017-02-09 20:41:29 -08:00
Matthew Hooker
a51f492558
communicator/docker: preserve file mode. 2017-01-23 13:47:22 -08:00
Matthew Hooker
9e2d69fb97
builder/docker: create export dir if needed 2017-01-21 23:51:08 -08:00
Rickard von Essen
112f5abdae
docker: Fix crash when performing log in to ECR with an invalid URL.
Closes #4383
2017-01-11 20:23:24 +01:00
Florian Rey
73c5eac4f0 Handle commit author & message the same way 2016-11-24 13:33:42 +01:00
Florian Rey
06bebb63d0 Add log 2016-11-24 13:07:01 +01:00
Florian Rey
c925acf502 Introduce docker commit changes 2016-11-24 11:42:34 +01:00
Matthew Hooker
48bdae93d1 aws-sdk: use session.NewSession 2016-11-01 15:53:04 -07:00
Rickard von Essen
13c9db5dd5 Merge pull request #3885 from orivej/on-error
Add -on-error command line argument to allow preserving artifacts on builder errors
2016-09-20 12:28:14 +02:00
Rickard von Essen
476d981211 Merge pull request #3800 from benwtr/issue-3142-match-dotfiles-docker-communicator
Fix file provisioner dotfile matching w/ docker builder
2016-09-20 12:25:37 +02:00
Orivej Desh
6762965696 Add -on-error command line argument to allow preserving artifacts on builder errors
Resolves #409
2016-09-16 12:15:00 +00:00
Rickard von Essen
10cba9795f Merge pull request #3476 from bhcleek/ansible-with-docker
fix docker builder with ansible provisioner
2016-09-12 13:56:28 +02:00
Rickard von Essen
b2d9782a9e
Improved support for Amazon EC2 Container Registry - ECR
This adds support for authenticating towards ECR in the docker builder
and docker-push post-processor using them same mechanisms as in the
amazon builders. I.g. access key/secret key, credentials on file,
environment variables, sts tokens or IAM instance roles.
2016-09-04 14:33:47 +02:00
Ben P
8ecbbe9037 backticks instead of $() for csh compatibility 2016-08-11 11:27:56 -07:00
Ben P
0d7937fce1 [docker] ls -A instead of * glob for copying paths 2016-08-11 18:03:48 +00:00
Hao
5139b853fa privilege enabled docker container (#3475)
Issue #2724
2016-04-29 19:12:20 -07:00
Billie H. Cleek
165ec694ab fix docker builder with ansible provisioner
Refactor the docker builder so that it does not expect output from the
container to be strictly line oriented or even text, because SFTP, used by
Ansible, is a binary protocol. Since `docker exec` was introduced in 2014,
remove support for older versions of docker that required using `docker
attach`. The old notes in the docker builder referring to specific issues have
all been resolved or else closed because they could not be reproduced.
2016-04-27 13:54:40 -07:00
Vasiliy Tolstov
feee19e4ed file provisioner improvements
* allow specify source/destination as dir
* allow specify many files as source

Signed-off-by: Vasiliy Tolstov <v.tolstov@selfip.ru>
2016-02-12 11:48:28 -08:00
Mark Peek
bc0f438db0 Use alternate temp directories for docker
The temporary directories will be created under the packer config
directory. Setting PACKER_TMP_DIR will override this path.
2015-10-20 11:34:14 -07:00
Seth Vargo
e863dbe100 Revert "Merge pull request #2807 from markpeek/markpeek-docker-tmpdir"
This reverts commit 31d3678814, reversing
changes made to a3a7c974d0.
2015-10-15 14:31:13 -04:00
Chris Bednarski
5eddaa77bf Corrected sprintf formatting in error messages 2015-10-08 17:43:54 -07:00
Chris Bednarski
cc153aa71f Added a test to verify byte size for larger files downloaded from docker 2015-10-08 17:15:27 -07:00
Chris Bednarski
8ff5c07d0c Add a new packer template for testing large file downloads 2015-10-08 16:37:14 -07:00
Mark Peek
77bfd1de2e Workaround docker-machine shared folder mapping issue
When using docker-machine on a Mac only the /Users folder is shared with
the VM. Uploads fail since the normal tmpdir is not shared. This change
uses the local packer directory (usually when run in the users home
folders) allowing it to work without setting TMPDIR explicitly. A better
fix would be to use the docker API directly but that would force users
to use docker API version 20+.
- fixes #901, fixes #1752, fixes #2436, fixes #2675, fixes #2697.
2015-10-07 13:29:53 -07:00
Chris Bednarski
1830c81eab Correct and expand docker config tests for commit, discard, export_path 2015-08-20 14:15:52 -07:00
Chris Bednarski
5503b7f496 Don't export errors 2015-08-19 13:12:16 -07:00
Chris Bednarski
746b9a8391 Formatting tweaks 2015-08-18 16:55:29 -07:00
Chris Bednarski
1b1bd19c20 Reformat code so we can grep for this more easily 2015-08-18 16:47:12 -07:00
Chris Bednarski
750a9c61de Added discard option for docker builder, also reorganized some error messages 2015-08-18 14:38:32 -07:00
Chris Bednarski
32978a5109 Add an explicit error message when there is no output file specified 2015-08-18 13:48:18 -07:00
Chris Bednarski
5ad4b0e97e Added tests and handle the tar format from docker cp - 2015-08-12 12:16:26 -07:00
Chris Bednarski
8cdd078952 Changed fixtures so we can do a directory test too 2015-08-12 11:48:47 -07:00
Chris Bednarski
62c5e8358d Added a test for docker upload and download 2015-08-12 11:36:56 -07:00
Chris Bednarski
de9ecd2d62 Add a test fixture file 2015-08-12 11:36:33 -07:00
Chris Bednarski
3523ffdce1 Farewell extra line. You were pretty but out of place. 2015-08-12 11:36:10 -07:00
Chris Bednarski
047382eec9 Style tweak 2015-08-11 22:30:19 -07:00
Chris Bednarski
dc3c55cf8e Implemented downloader for the docker communicator so we can pull files out of a container 2015-08-11 22:22:52 -07:00
Chris Bednarski
715662f60b Reformat 2015-07-27 16:42:06 -07:00
Chris Bednarski
f3f3d1fe73 Formatting 2015-07-16 19:34:36 -07:00
georgevicbell
bf0c326cd5 Update step_connect_docker.go 2015-07-16 22:07:39 -04:00
georgevicbell
b2811a8252 Update communicator.go 2015-07-16 21:51:13 -04:00
georgevicbell
d00271aab3 Fix Capitilzation 2015-07-16 21:50:24 -04:00
georgevicbell
4da4150abe Update communicator.go 2015-07-16 21:37:08 -04:00
georgevicbell
3a681d0c0c Add Pty Bool 2015-07-16 21:22:11 -04:00
georgevicbell
fb39fa2cc6 Update step_connect_docker.go 2015-07-16 21:13:04 -04:00
georgevicbell
e3ab74e09f Add Config struct for docker PTY 2015-07-16 21:06:03 -04:00
Mitchell Hashimoto
84189f7a28 builder/*: properly save interpolation context 2015-06-22 09:22:42 -07:00
Mitchell Hashimoto
cab2665119 builder/docker: support custom communicators 2015-06-14 22:09:38 -07:00
Mark Peek
16320372d6 Make some builder config usage more consistent with other builders 2015-06-12 14:02:09 -07:00
Mitchell Hashimoto
819986d19f builder/docker: validate export path is not a dir [GH-2105] 2015-05-29 16:24:29 -07:00
Mitchell Hashimoto
350aa4e522 Merge pull request #2055 from FGtatsuro/docker_tag_force
Support force option for docker-tag.
2015-05-29 16:05:00 -07:00
Mitchell Hashimoto
31ac2652d6 bulder/docker: canExec as sep function 2015-05-29 11:08:41 -07:00
Mitchell Hashimoto
ce275969e4 builder/docker: don't attempt to read artifact if cancelled 2015-05-29 09:37:27 -07:00
Mitchell Hashimoto
6570b53c4a builder/docker: use exec for v1.4+ 2015-05-29 09:29:59 -07:00
Mitchell Hashimoto
966d70148e Merge branch 'donaldguy-docker-exec-by-version' into f-docker 2015-05-29 09:20:57 -07:00
Mitchell Hashimoto
9587a926a2 Merge branch 'docker-exec-by-version' of https://github.com/donaldguy/packer into donaldguy-docker-exec-by-version 2015-05-29 09:20:48 -07:00
Mitchell Hashimoto
9c7b4b63c5 builder/docker: fix config parsing 2015-05-29 09:19:20 -07:00
Mitchell Hashimoto
4cae87645f builder/docker: fix issue where docker might get nil interp context 2015-05-27 13:03:47 -07:00
Mitchell Hashimoto
faf327eed0 builder/docker: convert to new interpolation 2015-05-27 12:55:36 -07:00
FGtatsuro
09f379a928 Support force option for docker-tag. 2015-04-18 13:12:28 +09:00
Donald Guy
a7206aebd7 builder/docker: attempt to satisfy travis for #1993 2015-03-20 12:50:03 -04:00
Donald Guy
df7623d9d8 builder/docker: Run scripts /w exec if -v > 1.4 2015-03-20 12:07:43 -04:00
Godefroid Chapelle
f52283d78e all calls to cp should be escaped 2014-12-22 12:58:41 +01:00
Godefroid Chapelle
955122f2e1 Be more explicit about escaping alias 2014-12-02 15:07:29 +01:00
Godefroid Chapelle
075abfeeae Escapes cp alias
Fix for #1656
2014-12-02 14:58:13 +01:00
Israel Shirk
d4080244b0 Resolves issue where docker communicator mishandled symlinks by treating them as files 2014-11-12 14:22:48 -07:00
Mitchell Hashimoto
0db6cd3533 Merge pull request #1330 from qur/qemu-vagrant
Qemu vagrant
2014-10-28 08:42:17 -07:00
Mitchell Hashimoto
607f7214b5 builder/docker: allow DOCKER_HOST 2014-10-27 16:49:39 -07:00
Julian Phillips
90a57c411f Expand Artifact API to expose build state
In order that something consuming an artifact can have access to extra
builder specific data add the State method which allows the caller to
ask for arbitary values by name.
2014-09-22 11:15:47 +01:00
Mitchell Hashimoto
75395af12d Merge branch '1064-fix-upload-file-permissions' of github.com:rasa/packer into rasa-1064-fix-upload-file-permissions
Conflicts:
	builder/parallels/common/step_upload_parallels_tools.go
	builder/vmware/common/step_upload_tools.go
	provisioner/chef-client/provisioner.go
	provisioner/chef-solo/provisioner.go
2014-09-08 13:20:46 -07:00
Mitchell Hashimoto
812ba35479 fmt 2014-09-08 10:28:21 -07:00
Mitchell Hashimoto
e4dc5d31d8 builder/docker: support volumes 2014-09-05 15:48:42 -07:00
Mitchell Hashimoto
2e4882f0c3 builder/docker: can login to pull 2014-09-05 15:24:12 -07:00
Mitchell Hashimoto
622b9f459a builder/docker: lock around Login 2014-09-05 15:06:07 -07:00
Mitchell Hashimoto
d32b4b4f84 builder/docker: driver supports login/logout 2014-09-05 14:26:19 -07:00
Mitchell Hashimoto
f32d9879dc builder/docker: error if DOCKER_HOST is set 2014-09-05 11:13:54 -07:00
Mitchell Hashimoto
5cb7355814 builder/docker: change commit to the opt-in, special case build steps
/cc @andytson - Wanted to CC you in here so you could see some changes I
made.

First, I changed commit to opt-in, so you set "commit": true to get
commit behavior. This simplifies the logic a bit. Then, I removed the
skipping for StepExport and StepCommit and put that into the Builder
itself. This simplifies those steps (limits abstraction leakage).
Otherwise, everything looks great!
2014-09-04 18:03:15 -07:00
Mitchell Hashimoto
cb2c405d88 Merge branch 'feature/docker-image' of github.com:andytson/packer into andytson-feature/docker-image
Conflicts:
	config.go
2014-09-04 17:56:47 -07:00
Mitchell Hashimoto
b267c3eb4a builder/docker: wait for tail to end when running remote command 2014-09-04 17:24:09 -07:00
Mitchell Hashimoto
c139aa3b71 builder/docker: style 2014-09-04 17:07:21 -07:00
Mitchell Hashimoto
74a4f27a16 buidler/docker: remove container [GH-1206] [GH-1095] 2014-09-04 17:03:24 -07:00
Andy Thompson
4a98ab377a Add Stderr capture to Commit and TagImage calls. 2014-07-21 20:42:24 +01:00
Andy Thompson
ed446782f9 Add a docker save post processor 2014-07-21 20:42:24 +01:00
Andy Thompson
bf16683140 Add a docker tag post processor 2014-07-21 20:42:23 +01:00
Andy Thompson
1baa63f060 Add a docker commit step to the docker builder that runs instead of export if export_path not present 2014-07-21 20:42:23 +01:00
Ross Smith II
d92179847d provisioner/file: set file/directory permissions
fixes #1064
2014-05-09 21:03:35 -07:00
Mitchell Hashimoto
e8768785a0 website: add docs for docker-import and docker-push 2014-01-19 20:42:42 -08:00
Mitchell Hashimoto
8635085665 builder/docker: make Import part of this Driver for reuse 2014-01-19 19:55:01 -08:00
Mitchell Hashimoto
34dbf72142 post-processor/docker-import: have an Artifact
/cc @mmckeen
2014-01-19 19:48:06 -08:00
Jack Pearkes
0788d96841 builder/docker: include user vars for docker configuration 2014-01-02 14:49:30 -08:00
Mitchell Hashimoto
037a744be5 builder/docker: customize run command [GH-648] 2013-12-27 10:17:45 -07:00
Chris Lundquist
5564fb0028 Rename drover_docker_test.go to driver_docker_test.go 2013-12-26 16:09:24 -08:00
Mitchell Hashimoto
21bb0674f2 builder/docker: ctrl-C works during provisioning 2013-11-12 16:24:16 +00:00
Mitchell Hashimoto
832b4408a5 builder/docker: verify docker is available on path 2013-11-09 21:26:05 -08:00
Mitchell Hashimoto
c04d1cd57e builder/docker: say when killing the container 2013-11-09 19:17:27 -08:00
Mitchell Hashimoto
d8b29cd63b builder/docker: remove unused file 2013-11-09 19:11:07 -08:00
Mitchell Hashimoto
7bcfd83bdd builder/docker: stream output from commands 2013-11-09 19:06:03 -08:00
Mitchell Hashimoto
2b89da50b3 builder/docker: UploadDir 2013-11-09 18:44:43 -08:00
Mitchell Hashimoto
ab5f719734 builder/docker: show stderr if docker fails to run 2013-11-09 17:27:30 -08:00
Mitchell Hashimoto
8ec68031d0 builder/docker: ability to disable pull 2013-11-09 17:21:24 -08:00
Mitchell Hashimoto
0287cdd614 builder/docker: config refactor 2013-11-09 17:07:14 -08:00
Mitchell Hashimoto
06b6cb1af1 builder/docker: artifact 2013-11-09 13:22:13 -08:00
Mitchell Hashimoto
a58754b974 builder/docker: StepExport tests 2013-11-09 13:15:51 -08:00
Mitchell Hashimoto
0e3011cbce builder/docker: StepRun tests 2013-11-09 13:03:01 -08:00
Mitchell Hashimoto
62b81dc432 builder/docker: StepPull test, driver abstraction for tests 2013-11-09 12:12:23 -08:00
Mitchell Hashimoto
2da9233655 builder/docker: test StepTempDir 2013-11-09 11:58:20 -08:00
Mitchell Hashimoto
da683afde0 builder/docker: config validation test 2013-11-09 11:47:32 -08:00
Mitchell Hashimoto
23ad5442ec builder/docker: perform cleanup in run method, not prematurely 2013-11-09 10:15:25 -08:00
Mitchell Hashimoto
44a41451f0 builder/docker: Communicator.Start doesn't block 2013-11-09 10:13:27 -08:00
Mitchell Hashimoto
d5ce8ddb4a builder/docker: export the final image 2013-11-09 09:48:36 -08:00
Mitchell Hashimoto
d27ceaf509 builder/docker: remove the exit code file when we're done 2013-11-09 00:47:37 -08:00
Mitchell Hashimoto
2e7574e360 builder/docker: command output and exit codes work
/cc @mwhooker - CCing you on this because it is also ridiculous. See the
big comments
2013-11-09 00:33:36 -08:00
Mitchell Hashimoto
eabd32f3ce builder/docker: comment the sleep on remote exec 2013-11-09 00:06:45 -08:00
Mitchell Hashimoto
c1f0fe3f3f builder/docker: fix upload for copy to work 2013-11-09 00:05:44 -08:00
Mitchell Hashimoto
5f76ed68c4 builder/docker: Remote execution works!
/cc @mwhooker - WOW. By luck, I had a hunch that maybe something like
this might be going on based on straces I was reading. Check:
https://github.com/dotcloud/docker/issues/2628

Anyways, this works now. No more blocker!
2013-11-08 23:59:25 -08:00
Mitchell Hashimoto
797c44bfc1 builder/docker: a non-working communicator 2013-11-08 23:43:41 -08:00
Mitchell Hashimoto
2e080ece6d builder/docker: start a container 2013-11-08 22:17:46 -08:00
Mitchell Hashimoto
4db609b24c builder/docker: tests for some exec stuff 2013-11-08 22:02:47 -08:00
Mitchell Hashimoto
034e04cc1e builder/docker: pull images 2013-11-08 22:00:57 -08:00
Mitchell Hashimoto
3feab1dea1 builder/docker: boilerplate 2013-11-08 16:55:02 -08:00