Commit Graph

188 Commits

Author SHA1 Message Date
Megan Marsh 8452ca898c implemented for docker communicator 2017-10-03 17:06:33 -07:00
localghost ba72021274 Fix owner of files uploaded to docker container run as non-root. 2017-10-03 21:49:26 +02:00
Matthew Hooker b3661c1f63
builder/docker: set user during exec.
Add `exec_user` option to control what user `docker exec` is run as.
2017-09-28 16:39:23 -07:00
Matthew Hooker 392af507e0
builder/docker: respect rsync semantics when uploading directories. 2017-09-12 14:45:25 -07:00
Matthew Hooker 4edbd5322c
docker: stream uploads over stdin
Only write to a tempfile if we don't have a stat struct
2017-08-24 13:29:38 -07:00
Michael Juliano c8db128dc5
Modified func Upload to use docker cp 2017-08-24 13:29:37 -07:00
Megan Marsh ef858857e4 fix bug introduced by 5221 2017-08-14 14:07:21 -07:00
Sergei A Mamonov 07f7183b64 Add docker container dir to template 2017-08-14 09:26:05 -07:00
Megan Marsh 199b9062b0 fix file copy script to prevent error when encountering empty directory 2017-08-09 15:19:17 -07:00
Megan Marsh a2f7a65e35 fix communicator tests 2017-07-14 13:58:28 -07:00
Megan Marsh a281e60e15 de-mangle windows filepath to something docker can handle 2017-06-22 10:21:30 -07:00
Matthew Hooker 6581e0b7d6
add hostkeycallback everywhere else 2017-06-21 12:00:34 -07:00
Matthew Hooker 81522dced0
move packer to hashicorp 2017-04-04 13:39:01 -07:00
Matthew Hooker 79287d7e47
simplify some code 2017-03-28 20:36:20 -07:00
Matthew Hooker 230079f73a
spell fixes 2017-03-28 20:36:19 -07:00
guessi 66615e3f56 reuse the func DockerDriver.Version() 2017-02-16 08:26:44 +08:00
guessi 5eae809b0c improve description 2017-02-16 01:14:21 +08:00
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