ZFS storage in practice

Docker and ZFS in practice ZFS is a next generation filesystem that supports many advanced storage technologies such as volume management, snapshots, checksumming, compression and deduplication, replication and more. It was created by Sun Microsystems (now Oracle Corporation) and is open sourced under the CDDL license. Due to licensing incompatibilities between the CDDL and GPL, ZFS cannot be shipped as part of the mainline Linux kernel. However, the ZFS On Linux (ZoL) project provides an out-o

Work with network commands

Work with network commands This article provides examples of the network subcommands you can use to interact with Docker networks and the containers in them. The commands are available through the Docker Engine CLI. These commands are: docker network create docker network connect docker network ls docker network rm docker network disconnect docker network inspect While not required, it is a good idea to read Understanding Docker network before trying the examples in this section. The examples

Volume plugins

Write a volume plugin Docker Engine volume plugins enable Engine deployments to be integrated with external storage systems, such as Amazon EBS, and enable data volumes to persist beyond the lifetime of a single Engine host. See the plugin documentation for more information. Command-line changes A volume plugin makes use of the -vand --volume-driver flag on the docker run command. The -v flag accepts a volume name and the --volume-driver flag a driver type, for example: $ docker run -ti -v volu

VMware vSphere

VMware vSphere Creates machines on a VMware vSphere Virtual Infrastructure. The machine must have a working vSphere ESXi installation. You can use a paid license or free 60 day trial license. Your installation may also include an optional VCenter server. $ docker-machine create --driver vmwarevsphere --vmwarevsphere-username=user --vmwarevsphere-password=SECRET vm Options: --vmwarevsphere-username: required vSphere Username. --vmwarevsphere-password: required vSphere Password. --vmwarevspher

VMware vCloud Air

VMware vCloud Air Creates machines on vCloud Air subscription service. You need an account within an existing subscription of vCloud Air VPC or Dedicated Cloud. $ docker-machine create --driver vmwarevcloudair --vmwarevcloudair-username=user --vmwarevcloudair-password=SECRET vm Options: --vmwarevcloudair-username: required vCloud Air Username. --vmwarevcloudair-password: required vCloud Air Password. --vmwarevcloudair-computeid: Compute ID (if using Dedicated Cloud). --vmwarevcloudair-vdci

VMware Fusion

VMware Fusion Creates machines locally on VMware Fusion. Requires VMware Fusion to be installed. $ docker-machine create --driver vmwarefusion vm Options: --vmwarefusion-boot2docker-url: URL for boot2docker image. --vmwarefusion-cpu-count: Number of CPUs for the machine (-1 to use the number of CPUs available) --vmwarefusion-disk-size: Size of disk for host VM (in MB). --vmwarefusion-memory-size: Size of memory for host VM (in MB). --vmwarefusion-no-share: Disable the mount of your home d

Using Supervisor with Docker

Using Supervisor with Docker Note: - If you don’t like sudo then see Giving non-root access Traditionally a Docker container runs a single process when it is launched, for example an Apache daemon or a SSH server daemon. Often though you want to run more than one process in a container. There are a number of ways you can achieve this ranging from using a simple Bash script as the value of your container’s CMD instruction to installing a process management tool. In this example you’re going to

Using Puppet

Using Puppet Note: Please note this is a community contributed installation path. The only official installation is using the Ubuntu installation path. This version may sometimes be out of date. Requirements To use this guide you’ll need a working installation of Puppet from Puppet Labs . The module also currently uses the official PPA so only works with Ubuntu. Installation The module is available on the Puppet Forge and can be installed using the built-in module tool. $ puppet module instal

Using Compose with Swarm

Using Compose with Swarm Docker Compose and Docker Swarm aim to have full integration, meaning you can point a Compose app at a Swarm cluster and have it all just work as if you were using a single Docker host. The actual extent of integration depends on which version of the Compose file format you are using: If you’re using version 1 along with links, your app will work, but Swarm will schedule all containers on one host, because links between containers do not work across hosts with the old n

Using Compose in Production

Using Compose in production When you define your app with Compose in development, you can use this definition to run your application in different environments such as CI, staging, and production. The easiest way to deploy an application is to run it on a single server, similar to how you would run your development environment. If you want to scale up your application, you can run Compose apps on a Swarm cluster. Modify your Compose file for production You’ll almost certainly want to make chang