Commit graph

309 commits

Author SHA1 Message Date
Mitchell Hashimoto
8d725c1f27 Merge pull request #5482 from duro/support-named-dockerfile
Support for Docker 1.5.0 named Dockerfile
2015-07-08 16:06:13 -06:00
Mitchell Hashimoto
0b6938d8ab core: don't prepare folders in disable ode 2015-07-08 15:43:42 -06:00
Mitchell Hashimoto
1c203405d2 providers/docker: fix crash if host VM file can't be foundJ:wq
gs
2015-07-08 12:31:24 -06:00
Mitchell Hashimoto
606a8fdde2 providers/docker: validate create args is list [GH-4850] 2015-07-08 10:25:32 -06:00
Mitchell Hashimoto
855aa66ad9 providers/docker: better error on suspend 2015-07-08 10:18:43 -06:00
Mitchell Hashimoto
dbf0af2e3f providers/docker: don't pull if image is built 2015-07-08 10:10:43 -06:00
Mitchell Hashimoto
c2cae80de5 providers/dock: pull image prior to starting 2015-07-08 10:09:15 -06:00
Mitchell Hashimoto
72b3ccd64f providers/docker: use new b2d box 2015-07-07 16:06:04 -06:00
Nathan
a6f300f3e9 Implement download method
Use the same method as upload, in a different order
2015-04-28 15:35:39 -05:00
Adam Duro
be81f09a60 Supporting a named Dockerfile for Docker 1.5.0 2015-03-13 17:30:42 -07:00
cubetto
2e659bf12c Update host_machine_build_dir.rb 2015-02-07 20:33:55 -03:00
Dan Carley
7529b66ea2 Disable insert_key for boot2docker host
Vagrant >1.7 is unable to login to the default boot2docker host if it has
been halted and brought back up again.

This is because the insecure SSH keypair is replaced but boot2docker doesn't
persist filesystem changes between reboots. So when next brought up Vagrant
tries to use the new keypair which is no longer valid and subsequently isn't
able to login.

Prevent this from happening by disabling the `ssh.insert_key` option on
versions where it is available.
2015-01-08 11:23:37 +00:00
Seth Vargo
d2874064f4 Use .key? instead of .has_key? 2015-01-05 18:29:01 -05:00
Gilles Cornu
40a22ff99a providers/docker: fix support of agent forwarding 2014-12-07 11:02:50 +01:00
Mitchell Hashimoto
b656bf4ae5 providers/docker: build output [GH-3739] 2014-10-23 15:03:09 -07:00
Mitchell Hashimoto
f122ed756c Merge pull request #4571 from jperville/docker-provider-allow-multiple-links-to-same-backend
providers/docker: allow multiple links to same backend (different aliases)
2014-10-23 09:45:14 -07:00
Mitchell Hashimoto
1e6259dd00 providers/docker: set preparing set to avoid data dir clear [GH-3873] 2014-10-22 20:52:08 -07:00
Mitchell Hashimoto
0e29dd5668 commands/rsync: handle proxy machines [GH-4066] 2014-10-22 16:17:39 -07:00
Mitchell Hashimoto
296d0639cc providers/docker: support auth [GH-4042] 2014-10-22 13:12:31 -07:00
Mitchell Hashimoto
cff57c8d01 core: trigger machine_id_changed for reload [GH-3963] 2014-10-22 12:07:49 -07:00
Mitchell Hashimoto
1ee46d3c95 providers/docker: check proper state for docker-logs [GH-3990] 2014-10-22 11:20:00 -07:00
Mitchell Hashimoto
9c23e4d9cb providers/docker: expand vagrant_vagrantfile [GH-4000] 2014-10-22 11:02:26 -07:00
Mitchell Hashimoto
59fe62ec11 providers/docker: public_address reports host machine addr [GH-4342] 2014-10-22 10:37:32 -07:00
Mitchell Hashimoto
57a1269e35 providers/docker: read the container ID properly 2014-10-22 09:33:57 -07:00
Mitchell Hashimoto
9d4ab18f42 providers/docker: stop_timeout [GH-4504] 2014-10-21 17:50:45 -07:00
Mitchell Hashimoto
e749eaa039 providers/docker: more robustly detect built image [GH-4598] 2014-10-21 17:44:48 -07:00
Mitchell Hashimoto
fb1a825c0d providers/docker: host IP and protocol is respected [GH-4505] 2014-10-21 17:17:34 -07:00
Mitchell Hashimoto
5228437b30 providers/docker: nicer error if package is called [GH-4595] 2014-10-21 17:04:46 -07:00
Mitchell Hashimoto
7f432422e1 providers/docker: properly copy create_args in config [GH-4526] 2014-10-21 16:39:26 -07:00
Julien Pervillé
97341c3234 providers/docker: allow multiple links to same backend (different aliases). 2014-09-29 18:46:01 +02:00
Mitchell Hashimoto
9ff18fb1b7 providers/docker: unique name with docker-run 2014-08-30 22:29:46 -07:00
Ray Clanan
f1e730e9a1 Unset container name if docker_run is called. Fixes #4294 2014-08-29 23:29:58 -04:00
Mitchell Hashimoto
b4345968a5 providers/docker: SSH extra args go to Docker container [GH-4378] 2014-08-29 11:11:53 -07:00
Leo Simons
fec14cf04c Use -f argument to rm to force-remove files.
When using pty=true, removing files using sudo may request confirmation,
which will hang the connection.

Similarly, sometimes assumptions about file existence may be wrong and
in those cases it seems better to continue on as long as the file does
not exist, so -f makes sense there, too.
2014-08-29 10:51:31 +02:00
Paris Holley
802d17a248 remove vm by default when using docker run 2014-08-09 12:03:35 -07:00
Mitchell Hashimoto
1428ab0404 providers/docker: single port works [GH-3991] 2014-08-06 15:34:41 -07:00
Mitchell Hashimoto
6369d870d8 providers/docker: support for UDP forwarded ports [GH-3886] 2014-05-23 10:16:16 -07:00
Kalman Hazins
bb052366f7 Change symbols inside hashes to 1.9 JSON-like syntax 2014-05-22 12:35:12 -04:00
Mitchell Hashimoto
6c5251f499 providers/docker: verify host VM SSH is ready [GH-3838] 2014-05-20 20:41:48 -07:00
Mitchell Hashimoto
4e7a25f6de Merge pull request #3807 from mitchellh/fix-docker-ssh-wo-host-vm
providers/docker: Fix SSH access to container when no Host VM is in use
2014-05-20 20:32:21 -07:00
Mitchell Hashimoto
5bd0a99b31 providers/docker: don't port map SSH if no has_ssh [GH-3857] 2014-05-20 19:47:21 -07:00
Mitchell Hashimoto
efd67e6c9d providers/docker: retry container ssh command [GH-3763] 2014-05-17 13:14:07 -07:00
Mitchell Hashimoto
f2b4f5411a providers/docker: don't use graceful shutdown [GH-3798] 2014-05-17 12:16:32 -07:00
Fabio Rehm
7eecf31faa providers/docker: Fix SSH access to container when no Host VM is in use [GH-3799] 2014-05-15 20:14:10 -03:00
Mitchell Hashimoto
ca6e2393bd core: providers can choose to not be defaultable [GH-3742] 2014-05-09 16:02:09 -07:00
Mitchell Hashimoto
745bdf6766 providers/docker: ability to specify build dir synced folder opts [GH-3727] 2014-05-08 18:46:03 -07:00
Mitchell Hashimoto
aee71a093b providers/docker: forward ports properly 2014-05-08 13:37:55 -07:00
Gosha Arinich
faba9bdae9 Revert "providers/docker: Container links are an array, not a hash"
This reverts commit b68cb6d7b4.
2014-05-08 21:10:37 +03:00
Mitchell Hashimoto
9a8a0499c7 providers/docker: don't use HGFS on VMware fusion [GH-3687] 2014-05-08 10:06:06 -07:00
Mitchell Hashimoto
030c1ee481 providers/docker: build_args [GH-3684] 2014-05-07 18:41:24 -07:00
Mitchell Hashimoto
b2f9e86135 providers/docker: make sure command isn't scoped 2014-05-07 15:12:30 -07:00
Mitchell Hashimoto
61caaa00c6 commands/docker-run: --help works [GH-3698] 2014-05-07 15:11:57 -07:00
Mitchell Hashimoto
a00d2481f5 providers/docker: put sync folders in var lib docker [GH-3680] 2014-05-07 15:09:53 -07:00
Mitchell Hashimoto
cc75eb188f providers/docker: support custom shell properly [GH-3697] 2014-05-07 15:00:51 -07:00
Fabio Rehm
b68cb6d7b4 providers/docker: Container links are an array, not a hash 2014-05-07 12:12:16 -03:00
Mitchell Hashimoto
ca428388d8 providers/docker: can set default provider to docker [GH-3662] 2014-05-06 21:49:49 -07:00
Michael Louis Thaler
9dcc53673a Fix error reporting bug
There's no "command" variable; it should be "cmd". This bug causes it to print an unhelpful exception if the Docker command fails.
2014-05-06 17:46:09 -04:00
Mitchell Hashimoto
337e51c2a6 providers/docker: don't reload if not created 2014-05-05 22:06:22 -07:00
Mitchell Hashimoto
38d1f0c0aa providers/docker: smarter destroy, does not require host machine 2014-05-05 22:02:13 -07:00
Mitchell Hashimoto
a34ee404d8 providers/*: use special NOT_CREATED_ID if not created 2014-05-05 21:52:28 -07:00
Mitchell Hashimoto
ff2f035f27 providers/docker: less hack way to clear ID if not created 2014-05-05 21:37:02 -07:00
Mitchell Hashimoto
b26ecb0150 providers/docker: smarter about setting ID to nil for machine 2014-05-05 21:35:08 -07:00
Mitchell Hashimoto
d7a9bcda47 providers/docker: vagrant_machine setting works proprely 2014-05-05 21:13:15 -07:00
Mitchell Hashimoto
f475df0987 providers/virtualbox: don't do transient by default 2014-05-05 15:44:45 -07:00
Mitchell Hashimoto
744c9c9663 providers/docker: choose proper provider for host VM 2014-05-01 10:22:43 -07:00
Mitchell Hashimoto
76e29b912f providers/docker: lower priority
We do this mostly because Docker is the only provider that using it
requires some amount of Docker-specific knowledge. VirtualBox, VMware,
etc. kind of "just work". It is not the likely case that someone does
a `vagrant up` and expects Docker, at this point.
2014-05-01 09:51:50 -07:00
Mitchell Hashimoto
df399d8610 providers/docker: use the proper class 2014-04-30 09:22:02 -07:00
Mitchell Hashimoto
92df8cf6ae Handle a lot of TODOs 2014-04-29 16:50:58 -07:00
Mitchell Hashimoto
19af4b70e6 providers/docker: with a pty, single target the docker-run cmd 2014-04-29 16:31:43 -07:00
Mitchell Hashimoto
0bb523ebb0 providers/docker: use ssh_run if asking for stdin on execute 2014-04-29 16:27:22 -07:00
Mitchell Hashimoto
e90e45a8fb providers/docker: pty flag, not functional yet 2014-04-29 15:51:32 -07:00
Mitchell Hashimoto
ca5651a0b1 providers/docker: clearer options on docker-logs 2014-04-29 14:28:10 -07:00
Mitchell Hashimoto
013fc729a5 providers/docker: raise better error for local executor 2014-04-29 14:16:24 -07:00
Mitchell Hashimoto
d7343c5b56 providers/docker: expand path to share relative to docker env 2014-04-28 11:08:58 -07:00
Mitchell Hashimoto
d7ecd99e2e providers/docker: be more lenient about deleting built image 2014-04-28 09:36:55 -07:00
Mitchell Hashimoto
8ed5351dd1 providers/docker: destroy built image on up 2014-04-27 19:36:02 -07:00
Mitchell Hashimoto
27cd8886b3 providers/docker: cleaner reload 2014-04-27 19:27:11 -07:00
Mitchell Hashimoto
12d3e06f69 providers/docker: can docker-run non-existent containers 2014-04-27 19:22:14 -07:00
Mitchell Hashimoto
a2b4f31916 providers/docker: don't show cmd if one is not specified 2014-04-27 19:06:39 -07:00
Mitchell Hashimoto
685bdbf1f0 whitespace 2014-04-27 18:58:57 -07:00
Mitchell Hashimoto
c818a14072 providers/docker: expose ports 2014-04-27 18:37:25 -07:00
Mitchell Hashimoto
ff9de3586a providers/docker: run_command doesn't need to actual setup host machine 2014-04-27 18:28:11 -07:00
Mitchell Hashimoto
a8822e84d2 providers/docker: fix some extranneous newlines in streamed output 2014-04-27 18:26:12 -07:00
Mitchell Hashimoto
f1e1617cfd providers/docker: stream data for run 2014-04-27 18:23:31 -07:00
Mitchell Hashimoto
abf7c0526b providers/docker: docker-run command starting points 2014-04-27 18:10:41 -07:00
Mitchell Hashimoto
7cbef9b3d9 providers/docker: doesn't support NFS if b2d [GH-3510] 2014-04-21 20:38:10 -07:00
Mitchell Hashimoto
568185c3e9 providers/docker: always copy the host VM Vagrantfile 2014-04-21 13:56:31 -07:00
Mitchell Hashimoto
2e8f837f9b providers/docker: fix exception typo 2014-04-21 13:56:29 -07:00
Mitchell Hashimoto
89b6336d21 providers/docker: retry sync_folders action 2014-04-21 13:56:28 -07:00
Mitchell Hashimoto
e38ae9b5c6 providers/docker: don't guard for image on create, since can come from build 2014-04-21 13:56:27 -07:00
Mitchell Hashimoto
1c3ee6ffa3 providers/docker: rebuild image if it doesn't exist 2014-04-21 13:56:26 -07:00
Mitchell Hashimoto
d837086572 providers/docker: get rid of mutex around Docker access, should be safe 2014-04-21 13:56:25 -07:00
Mitchell Hashimoto
aa13a43c69 providers/docker: its okay if no image file on destroy 2014-04-21 13:56:23 -07:00
Mitchell Hashimoto
8171471628 providers/docker: make merge logic a bit more sensible 2014-04-21 13:56:13 -07:00
Mitchell Hashimoto
8a76c2bc76 providers/docker: can force a host VM optionally 2014-04-21 13:56:08 -07:00
Mitchell Hashimoto
79793ab130 providers/docker: config validation and specs 2014-04-21 13:56:07 -07:00
Mitchell Hashimoto
0094a58227 providers/docker: when building from Dockerfile, show image ID 2014-04-21 13:56:06 -07:00
Mitchell Hashimoto
052ee624bb providers/docker: forgot a file 2014-04-21 13:56:05 -07:00
Mitchell Hashimoto
f78f72920c providers/docker: flatten stack so it runs at one point 2014-04-21 13:56:04 -07:00
Mitchell Hashimoto
067c1ca348 providers/docker: reuse action stacks where possible 2014-04-21 13:56:02 -07:00
Mitchell Hashimoto
67741ad902 providers/docker: fix ordering of removing built images 2014-04-21 13:56:01 -07:00
Mitchell Hashimoto
e50eb6c7a9 providers/docker: default host VM doesn't sync folder 2014-04-21 13:56:00 -07:00
Mitchell Hashimoto
16ae728b5f providers/docker: remove built image on reload and destroy 2014-04-21 13:55:55 -07:00
Mitchell Hashimoto
81df70eee0 providers/docker: support building Dockerfiles 2014-04-21 13:55:54 -07:00
Mitchell Hashimoto
3ba0ca3562 providers/docker: fix typo in translation 2014-04-21 13:55:52 -07:00
Mitchell Hashimoto
61388186e9 providers/docker: can set custom container name 2014-04-21 13:55:51 -07:00
Mitchell Hashimoto
58ddc66b9c providers/docker: can specify links 2014-04-21 13:55:50 -07:00
Mitchell Hashimoto
71d615212d providers/docker: can set environmental variables 2014-04-21 13:55:49 -07:00
Mitchell Hashimoto
0a3346c918 providers/docker: warning if synced folders change 2014-04-21 13:55:48 -07:00
Mitchell Hashimoto
d1b3165545 providers/docker: cleaner action stacks 2014-04-21 13:55:47 -07:00
Mitchell Hashimoto
35d9256137 providers/docker: only provision if ssh (command) 2014-04-21 13:55:46 -07:00
Mitchell Hashimoto
81818f36fc providers/docker: graceful halt only if SSH is available 2014-04-21 13:55:45 -07:00
Mitchell Hashimoto
4a59c5c522 providers/docker: optimizing the action stacks... 2014-04-21 13:55:44 -07:00
Mitchell Hashimoto
c0f5095783 providers/docker: wait for running state, error if not 2014-04-21 13:55:42 -07:00
Mitchell Hashimoto
09cc823065 providers/docker: warning with host VM about forwarded ports 2014-04-21 13:55:41 -07:00
Mitchell Hashimoto
e578e91e3a providers/docker: implement port checker for remote machine 2014-04-21 13:55:39 -07:00
Mitchell Hashimoto
4dabfc1aff providers/docker: clean up forwarded port handling 2014-04-21 13:55:37 -07:00
Mitchell Hashimoto
6ea6ad3e08 providers/docker: only correct port collisions if not host VM 2014-04-21 13:55:36 -07:00
Mitchell Hashimoto
58a043e2aa providers/docker: upload the keys we need for SSH 2014-04-21 13:55:35 -07:00
Mitchell Hashimoto
447f407b0b providers/docker: use a mutex for intra-process lock 2014-04-21 13:55:31 -07:00
Mitchell Hashimoto
3edfe6deaf providers/docker: remove synced folders after docker rm 2014-04-21 13:55:28 -07:00
Mitchell Hashimoto
cd38f891da providers/docker: disable synced folders on destroy 2014-04-21 13:55:27 -07:00
Mitchell Hashimoto
704ff98200 providers/docker: only sync folders if they're not already there 2014-04-21 13:55:26 -07:00
Mitchell Hashimoto
10e51eb141 providers/docker: initial sync folders working through proxy VM 2014-04-21 13:55:20 -07:00
Mitchell Hashimoto
c1f14320bd providers/docker: process-level lock on host machine up 2014-04-21 13:55:13 -07:00
Mitchell Hashimoto
a2a822c6e6 providers/docker: SSH action re-uses the communicator helpers 2014-04-21 13:54:58 -07:00
Mitchell Hashimoto
4477545d3f providers/docker: execute the proxied SSH in a shell 2014-04-21 13:54:57 -07:00
Mitchell Hashimoto
e947960c09 providers/docker: use a custom communicator to go through host VM 2014-04-21 13:54:56 -07:00
Mitchell Hashimoto
bdade7d5a6 providers/docker: notify when proxying SSH 2014-04-21 13:54:55 -07:00
Mitchell Hashimoto
e714720052 providers/docker: vagrant ssh proxies through the host VM 2014-04-21 13:54:54 -07:00
Mitchell Hashimoto
c220bfc27d providers/docker: TODO for me 2014-04-21 13:54:51 -07:00
Mitchell Hashimoto
56f9fdac21 commands/docker-logs: exit status 1 if no logs were retrieved 2014-04-21 13:54:49 -07:00
Mitchell Hashimoto
eab553ad55 providers/docker: better comments 2014-04-21 13:54:48 -07:00
Mitchell Hashimoto
cb95e8aaee commands/docker-logs: parallelize for multiple containers 2014-04-21 13:54:47 -07:00
Mitchell Hashimoto
da0db72054 providers/docker: docker-attach => docker-logs 2014-04-21 13:54:45 -07:00
Mitchell Hashimoto
54de2e3c6f providers/docker: docker-attach command for following output 2014-04-21 13:54:44 -07:00
Mitchell Hashimoto
b655b6d910 providers/docker: remove TODO 2014-04-21 13:54:41 -07:00
Mitchell Hashimoto
144c874b5a providers/docker: process-level lock on copying default Vagrantfile 2014-04-21 13:54:40 -07:00
Mitchell Hashimoto
8c7ab333a0 Squash the f-docker-hostmachine branch.
Initial work

commands/up: make sure all names to with_target_vms are strings

providers/docker: create a docker host VM if needed

providers/docker: executor abstraction for driver to eventually support remote

providers/docker: vagrant executor

providers/docker: support creating the machine

providers/docker: status works if host VM is gone

providers/docker: use start fence to get real docker output

core: Call preserves stack ordering

core: support Message post option

providers/docker: Guard some features with HasSSH checks

providers/docker: much better messaging around create/destroy

providers/docker: output the container ID on create

providers/docker: copy the hostmachine Vagrantfile to the data dir

providers/docker: should make host machine before any up action

providers/docker: HandleBox before the host machine

providers/virtualbox: functional_vboxsf to disable vboxsf

providers/virtualbox: synced folder usable method should take 2 args

providers/docker: default machine name to :default
2014-04-21 13:54:33 -07:00
Mitchell Hashimoto
f2bd6988b6 providers/docker: boxes are optional 2014-04-21 13:53:06 -07:00
Mitchell Hashimoto
ab2cae2379 providers/docker: synced folder usable? raises error, tests
/cc @fgrehm
2014-04-21 13:53:05 -07:00
Mitchell Hashimoto
2e13feb130 providers/docker: Clean up config and make a spec 2014-04-21 13:53:04 -07:00
Fabio Rehm
e51c5530d7 providers/docker: Remove retryable around docker run as it seems that it is no longer needed 2014-04-21 13:51:48 -07:00
Fabio Rehm
d705c48ef3 providers/docker: Implement public_address capability for vagrant share 2014-04-21 13:51:47 -07:00
Fabio Rehm
c0aa05c62a providers/docker: Handle forwarded port collisions 2014-04-21 13:51:46 -07:00
Fabio Rehm
e5375715ef providers/docker: Update driver to docker 0.9 2014-04-21 13:51:45 -07:00
Fabio Rehm
de588ba82c providers/docker: Remove old README 2014-04-21 13:51:44 -07:00
Fabio Rehm
46cbeb38f0 providers/docker: Make use of Action::Builtin::IsState and remove provider specific actions 2014-04-21 13:51:42 -07:00
Fabio Rehm
29f2d9b09d providers/docker: Remove custom Action::Message 2014-04-21 13:51:41 -07:00
Fabio Rehm
15605b1a81 providers/docker: Switch to new HandleBox middleware 2014-04-21 13:51:39 -07:00
Fabio Rehm
eaa4be8869 providers/docker: Remove Vagrant::Action shortcuts as we are on core now 2014-04-21 13:51:38 -07:00
Fabio Rehm
c09ce4bbbd providers/docker: Add description 2014-04-21 13:51:37 -07:00
Fabio Rehm
87d2f35718 providers/docker: Get rid of some explicit requires in favor of autoloading 2014-04-21 13:51:35 -07:00
Fabio Rehm
3325bce2d0 providers/docker: Lazy load locales 2014-04-21 13:51:34 -07:00
Fabio Rehm
8c8826fe09 providers/docker: Get rid of vagrant version check from old plugin 2014-04-21 13:51:33 -07:00
Fabio Rehm
e79df6caaa providers/docker: Move code out of lib dir so that Vagrant can pick it up 2014-04-21 13:51:32 -07:00
Fabio Rehm
5a60e568ce providers/docker: Import code from https://github.com/fgrehm/docker-provider with some initial tweaks 2014-04-21 13:51:31 -07:00
Mitchell Hashimoto
b97c509c15 Remove this, supposed to be in vagrant-next 2014-04-10 13:43:15 -07:00
Mitchell Hashimoto
f47213f9b2 guests/coreos: docker_daemon_running cap [GH-3425] 2014-04-10 13:42:12 -07:00