Skip to content

Commit

Permalink
Moved Load/Save and Import/Export to Image section
Browse files Browse the repository at this point in the history
  • Loading branch information
amirbawab authored Jul 3, 2016
1 parent 5d8aa92 commit e73160e
Showing 1 changed file with 29 additions and 36 deletions.
65 changes: 29 additions & 36 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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.
Expand Down Expand Up @@ -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).
Expand Down

0 comments on commit e73160e

Please sign in to comment.