Commit graph

102 commits

Author SHA1 Message Date
Alexander Larsson
f198ee525a Properly close archives
All archive that are created from somewhere generally have to be closed, because
at some point there is a file or a pipe or something that backs them. So, we
make archive.Archive a ReadCloser. However, code consuming archives does not
typically close them so we add an archive.ArchiveReader and use that when we're
only reading.

We then change all the Tar/Archive places to create ReadClosers, and to properly
close them everywhere.

As an added bonus we can use ReadCloserWrapper rather than EofReader in several places,
which is good as EofReader doesn't always work right. For instance, many compression
schemes like gzip knows it is EOF before having read the EOF from the stream, so the
EofCloser never sees an EOF.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-02-14 13:46:17 +01:00
Solomon Hykes
6393c38339 Move the canonical run configuration objects to a sub-package
* Config is now runconfig.Config
    * HostConfig is now runconfig.HostConfig
    * MergeConfig is now runconfig.Merge
    * CompareConfig is now runconfig.Compare
    * ParseRun is now runconfig.Parse
    * ContainerConfigFromJob is now runconfig.ContainerConfigFromJob
    * ContainerHostConfigFromJob is now runconfig.ContainerHostConfigFromJob

This facilitates refactoring commands.go and shrinks the core.

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-02-11 20:18:46 -08:00
Tianon Gravi
da04f49b38 Move even more stuff into dockerversion
Also, use it in all the places. :)

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-02-11 17:26:54 -07:00
Alexander Larsson
bcaf6c2359 Add Put() to graphdriver API and use it
This makes all users of Put() have a corresponding call
to Get() which means we will be able to track whether
any particular ID is in use and if not unmount it.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-01-21 11:25:37 +01:00
Michael Crosby
fa14a1b983 Only get rootfs when we need to calculate the image size
Docker-DCO-1.0-Signed-off-by: Michael Crosby <crosby.michael@gmail.com> (github: crosbymichael)
2014-01-07 13:56:26 -08:00
Guillaume J. Charmes
f9359f59a8
Add dynamic os/arch detection to Images 2013-12-20 08:20:08 -08:00
Victor Vieux
fde909ffb8 add some debug to runtime.restore() 2013-12-18 10:57:21 -08:00
Victor Vieux
95f061b408 update docker push to use [====> ] 2013-12-10 10:57:16 -08:00
Michael Crosby
697707e4af Save layersize on pull
Do not display size and virtual size on the cli.
Only display virtual size on the cli
2013-12-05 14:03:23 -08:00
Victor Vieux
597e0e69b4 split in 3 files 2013-11-28 12:16:57 -08:00
Solomon Hykes
02cb7f45fa Fix a race condition in TestInterruptedRegister 2013-11-26 05:05:15 +00:00
Solomon Hykes
fb3d60f27a Move all graph tests into integration, because they now rely on the underlying graph driver, which currently cannot be mocked. 2013-11-26 05:05:15 +00:00
Guillaume J. Charmes
19df6c32c0
Merge branch 'master' into use_utc_time
Conflicts:
	image.go
2013-11-25 19:01:13 -08:00
Guillaume J. Charmes
806abe90ba Use UTC for time 2013-11-21 16:43:36 -08:00
Michael Crosby
4e0c76b321 Ensure that only the layers are compressed and not mnt points 2013-11-20 15:37:26 -08:00
Michael Crosby
1b28cdc7f9 Handle image metadata when drivers are switched 2013-11-20 10:31:51 -08:00
Guillaume J. Charmes
28d4cbbc59
Merge branch 'master' into creack-merge-master
Conflicts:
	api_params.go
	graph.go
	graph_test.go
	image.go
	integration/api_test.go
	integration/container_test.go
	integration/runtime_test.go
	runtime.go
2013-11-19 14:58:12 -08:00
Guillaume J. Charmes
5e941f1ca0
Lintify code with confidence=1 2013-11-18 16:24:11 -08:00
Michael Crosby
29fa1b6666 Unlink docker init files 2013-11-14 21:23:23 -08:00
Michael Crosby
5d9723002b Allow drivers to implement ApplyDiff in Differ interface 2013-11-11 19:09:57 -08:00
Solomon Hykes
948bb29d27 Don't use drivers to store temporary image downloads 2013-11-09 00:53:58 +00:00
Solomon Hykes
f1127b9308 gofmt 2013-11-07 23:58:03 +00:00
Solomon Hykes
f2bab1557c Simplify graphdriver interface: Create, Get. No more external mounting or Dir/Image interface 2013-11-07 22:38:50 +00:00
Michael Crosby
752bfba2c5 Add graph driver registration 2013-11-04 15:22:34 -08:00
Solomon Hykes
98c3693acf Integrate devmapper and aufs into the common "graphdriver" framework.
aufs is still enabled by default, no mechanism for switching drivers
yet.
2013-11-04 17:28:35 +00:00
Solomon Hykes
ff42748bc5 Rename graph backends to 'drivers' which is probably more self-explanatory 2013-11-04 01:54:51 +00:00
Michael Crosby
699a1074fb Initial work on moving aufs to a subpackage 2013-10-31 18:07:54 -07:00
Michael Crosby
96d1e9bb5a Move archive.go to sub package 2013-10-31 16:57:45 -07:00
Brian Olsen
be7eb4bfcb Set environment variables using a file. 2013-10-31 00:48:12 +01:00
Michael Crosby
ad152efbed Merge pull request #1759 from bdon/graph-map
Minor refactor of Graph; replace uses of Graph.All (slice) with Graph.Map (map)
2013-09-10 08:49:11 -07:00
Victor Vieux
446ca4b57b fix init layer 2013-09-09 20:29:57 +00:00
Brandon Liu
113bb396cd Don't export Graph.walkAll. 2013-08-31 20:44:49 -07:00
Brandon Liu
1fca99ad90 Replace Graph.All with Graph.Map 2013-08-31 20:44:42 -07:00
Brandon Liu
025c759e44 Fix Graph ByParent() to generate list of child images per parent image. 2013-08-11 00:37:16 -07:00
Guillaume J. Charmes
18fc707fdf
Make sure all needed mountpoint are present 2013-08-08 11:25:02 -07:00
Victor Vieux
ba17f4a06a fix small \n error un docker build 2013-08-06 14:31:51 +00:00
Guillaume J. Charmes
e54e8fa920 Merge pull request #1290 from dotcloud/parallel_pull
* Runtime: Parallel pull
2013-08-05 14:17:29 -07:00
Guillaume J. Charmes
f6fa353dd8 Merge pull request #1267 from sridatta/new-clean-init
* Runtime: Fix to "Inject dockerinit at /.dockerinit"
2013-08-05 13:23:22 -07:00
Victor Vieux
6166380d76 rebase master 2013-07-30 16:51:50 +00:00
Guillaume J. Charmes
0f134b4bf8 Remove unused parameter 2013-07-29 11:30:17 -07:00
Guillaume J. Charmes
0badda9f15 Refactor the image size storage 2013-07-29 11:30:17 -07:00
Guillaume J. Charmes
8ca7b0646e Refactor checksum 2013-07-29 11:30:17 -07:00
Victor Vieux
8742649aa7 improve client output 2013-07-24 17:10:59 +00:00
Victor Vieux
0e71e368a8 Add ID to JSONMessage in pull
Use goroutines to pull in parallel
If multiple images pulled at the same time, each progress is displayed on a new line
2013-07-24 15:41:34 +00:00
Sridatta Thatipamala
945033f1cc change permissions of initLayer to be readable by non-root users 2013-07-22 14:55:07 -07:00
Solomon Hykes
5d8efc107d + Runtime: inject dockerinit at /.dockerinit instead of overwriting /sbin/init. This makes it possible to run /sbin/init inside a container. 2013-07-17 17:13:34 -07:00
Victor Vieux
05d7f85af9 fix typo 2013-07-09 10:55:28 +00:00
Marco Hennings
1e2ef274cd Pushing an Image causes the docker client to give an error message instead of
writing out streamed status.

This is caused by a Buffering message that is not in the correct json format:

[...]
{"status"
:"Pushing 6bba11a28f1ca247de9a47071355ce5923a45b8fea3182389f992f4
24b93edae"}Buffering to disk 244/? (n/a)..
{"status":"Pushing",[...]

The "Buffering to disk" message is originated in
srv.runtime.graph.TempLayerArchive

I am now using the StreamFormatter provided by the context from which the
method is called.
2013-07-04 10:50:37 +02:00
Andrews Medina
3d5633a0a0 following the 'go vet' suggestions. 2013-06-27 01:33:55 -03:00
Victor Vieux
bf63cb9045 bump to master again 2013-06-05 16:01:36 +00:00