From e73160e118676fe2db33dd9019c94f9694535020 Mon Sep 17 00:00:00 2001 From: Amir Bawab Date: Sun, 3 Jul 2016 14:26:06 -0400 Subject: [PATCH] Moved Load/Save and Import/Export to Image section --- README.md | 65 +++++++++++++++++++++++++------------------------------ 1 file changed, 29 insertions(+), 36 deletions(-) diff --git a/README.md b/README.md index 3a768b5..55df2a4 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,6 @@ * [Layers](#layers) * [Links](#links) * [Volumes](#volumes) -* [Load/Save Import/Export](#loadsave-importexport) * [Exposing Ports](#exposing-ports) * [Best Practices](#best-practices) * [Security](#security) @@ -168,6 +167,35 @@ Images are just [templates for docker containers](https://docs.docker.com/engine While you can use the `docker rmi` command to remove specific images, there's a tool called [docker-gc](https://github.com/spotify/docker-gc) that will clean up images that are no longer used by any containers in a safe manner. +### Load/Save image + +Load an image from file: +``` +docker load < my_image.tar.gz +``` + +Save an existing image: +``` +docker save my_image:my_tag > my_image.tar.gz +``` + +### Import/Export container + +Import a container as an image from file: +``` +cat my_container.tar.gz | docker import - my_image:my_tag +``` + +Export an existing container: +``` +docker export my_container > my_container.tar.gz +``` + +### Difference between loading a saved image and importing an exported container as an image ? + +Loading an image using the `load` command creates a new image including its history. +Importing a container as an image using the `import` command creates an new image excluding the history which results in a smaller image size compared to loading an image. + ## Networks Docker has a [networks](https://docs.docker.com/engine/userguide/networking/dockernetworks/) feature. Not much is known about it, so this is a good place to expand the cheat sheet. There is a note saying that it's a good way to configure docker containers to talk to each other without using ports. See [working with networks](https://docs.docker.com/engine/userguide/networking/work-with-networks/) for more details. @@ -333,41 +361,6 @@ You can also use remote NFS volumes if you're [feeling brave](https://web.archiv You may also consider running data-only containers as described [here](http://container42.com/2013/12/16/persistent-volumes-with-docker-container-as-volume-pattern/) to provide some data portability. -## Load/Save Import/Export - -Docker allows you to load/save images and import/export containers. - -### Load/Save image - -Load an image from file: -``` -docker load < my_image.tar.gz -``` - -Save an existing image: -``` -docker save my_image:my_tag > my_image.tar.gz -``` - -### Import/Export container - -Import a container as an image from file: -``` -cat my_container.tar.gz | docker import - my_image:my_tag -``` - -Export an existing container: -``` -docker export my_container > my_container.tar.gz -``` - -### Difference between loading a saved image and importing an exported container as an image ? - -Loading an image using the `load` command creates a new image including its history. -Importing a container as an image using the `import` command creates an new image excluding the history which results in a smaller image size compared to loading an image. - - - ## Exposing ports Exposing incoming ports through the host container is [fiddly but doable](https://docs.docker.com/reference/run/#expose-incoming-ports).