This is a big commit, and I apologize in advance for the future
git-blames all pointing to me. This commit does a few things:
1. Merges the website/docs and website/www repo into a single website repo
to be in line with other HashiCorp projects
2. Updates to use middleman-hashicorp
3. Converts less to scss to be in line with other projects
4. Updates page styles to be in line with other projects
5. Optimizes images
6. Prepare for S3 + Fastly deployment with scripts, etc.
7. Removes blog posts (they have been transferred to hashicorp.com with
redirects in place
8. Updated sitemap generation script for better SEO
9. Fixed many broken links
10. Add description to all fields
105 lines
4.1 KiB
Markdown
105 lines
4.1 KiB
Markdown
---
|
|
layout: "docs"
|
|
page_title: "Configuration- Docker Provider"
|
|
sidebar_current: "providers-docker-configuration"
|
|
description: |-
|
|
The Docker provider has some provider-specific configuration options
|
|
you may set. A complete reference is shown on this page.
|
|
---
|
|
|
|
# Docker Configuration
|
|
|
|
The Docker provider has some provider-specific configuration options
|
|
you may set. A complete reference is shown below.
|
|
|
|
### Required
|
|
|
|
* `build_dir` (string) - The path to a directory containing a Dockerfile.
|
|
One of this or `image` is required.
|
|
|
|
* `image` (string) - The image to launch, specified by the image ID or a name
|
|
such as `ubuntu:12.04`. One of this or `build_dir` is required.
|
|
|
|
### Optional
|
|
|
|
General settings:
|
|
|
|
* `build_args` (array of strings) - Extra arguments to pass to
|
|
`docker build` when `build_dir` is in use.
|
|
|
|
* `cmd` (array of strings) - Custom command to run on the container.
|
|
Example: `["ls", "/app"]`.
|
|
|
|
* `create_args` (array of strings) - Additional arguments to pass to
|
|
`docker run` when the container is started. This can be used to set
|
|
parameters that are not exposed via the Vagrantfile.
|
|
|
|
* `dockerfile` (string) - Name of the Dockerfile in the build directory.
|
|
This defaults to "Dockerfile"
|
|
|
|
* `env` (hash) - Environmental variables to expose into the container.
|
|
|
|
* `expose` (array of integers) - Ports to expose from the container
|
|
but not to the host machine. Useful for links.
|
|
|
|
* `link` (method, string argument) - Link this container to another
|
|
by name. The argument should be in the format of `(name:alias)`.
|
|
Example: `docker.link("db:db")`. Note, if you are linking to
|
|
another container in the same Vagrantfile, make sure you call
|
|
`vagrant up` with the `--no-parallel` flag.
|
|
|
|
* `force_host_vm` (boolean) - If true, then a host VM will be spun up
|
|
even if the computer running Vagrant supports Linux containers. This
|
|
is useful to enforce a consistent environment to run Docker.
|
|
|
|
* `has_ssh` (boolean) - If true, then Vagrant will support SSH with
|
|
the container. This allows `vagrant ssh` to work, provisioners, etc.
|
|
This defaults to false.
|
|
|
|
* `host_vm_build_dir_options` (hash) - Synced folder options for the
|
|
`build_dir`, since the build directory is synced using a synced folder
|
|
if a host VM is in use.
|
|
|
|
* `name` (string) - Name of the container. Note that this has to be unique
|
|
across all containers on the host VM. By default Vagrant will generate
|
|
some random name.
|
|
|
|
* `pull` (bool) - If true, the image will be pulled on every `up` and
|
|
`reload`. Defaults to false.
|
|
|
|
* `ports` (array of strings) - Ports to expose from the container to the
|
|
host. These should be in the format of `host:container`.
|
|
|
|
* `remains_running` (boolean) - If true, Vagrant expects this container
|
|
to remain running and will make sure that it does for a certain amount
|
|
of time. If false, then Vagrant expects that this container will
|
|
automatically stop at some point, and will not error if it sees it do that.
|
|
|
|
* `stop_timeout` (integer) - The amount of time to wait when stopping
|
|
a container before sending a SIGTERM to the process.
|
|
|
|
* `vagrant_machine` (string) - The name of the Vagrant machine in the
|
|
`vagrant_vagrantfile` to use as the host machine. This defaults to
|
|
"default".
|
|
|
|
* `vagrant_vagrantfile` (string) - Path to a Vagrantfile that contains
|
|
the `vagrant_machine` to use as the host VM if needed.
|
|
|
|
* `volumes` (array of strings) - List of directories to mount as
|
|
volumes into the container. These directories must exist in the
|
|
host where Docker is running. If you want to sync folders from the
|
|
host Vagrant is running, just use synced folders.
|
|
|
|
Below, we have settings related to auth. If these are set, then Vagrant
|
|
will `docker login` prior to starting containers, allowing you to pull
|
|
images from private repositories.
|
|
|
|
* `email` (string) - Email address for logging in.
|
|
|
|
* `username` (string) - Username for logging in.
|
|
|
|
* `password` (string) - Password for logging in.
|
|
|
|
* `auth_server` (string) - The server to use for authentication. If not
|
|
set, the Docker Hub will be used.
|