A Test Kitchen Driver for Docker.
- Upstart is neutered due to this issue.
Please read the Driver usage page for more details.
Example .kitchen.local.yml
:
---
driver_plugin: docker
platforms:
- name: ubuntu
run_list:
- recipe[apt]
- name: centos
driver_config:
image: "centos"
platform: "rhel"
run_list:
- recipe[yum]
The Docker image to use as the base for the suite containers. You can find images using the Docker Index.
The default value is base
, an official Ubuntu image.
The platform of the chosen image. This is used to properly bootstrap the suite container for Test Kitchen. Kitchen Docker currently supports:
debian
orubuntu
rhel
orcentos
The default value is ubuntu
.
Determines whether or not a Chef Omnibus package will be installed. There are several different behaviors available:
true
- the latest release will be installed. Subsequent converges will skip re-installing if chef is present.latest
- the latest release will be installed. Subsequent converges will always re-install even if chef is present.<VERSION_STRING>
(ex:10.24.0
) - the desired version string will be passed the the install.sh script. Subsequent converges will skip if the installed version and the desired version match.false
ornil
- no chef is installed.
The default value is true
.
Custom command(s) to be run when provisioning the base for the suite containers.
Examples:
provision_command: "curl -L https://www.opscode.com/chef/install.sh | sudo bash"
provision_command:
- "apt-get install dnsutils"
- "apt-get install telnet"
driver_config:
provision_command: "curl -L https://www.opscode.com/chef/install.sh | sudo bash"
require_chef_omnibus: false
This determines if images are automatically removed when the suite container is destroyed.
The default value is false
.
Sets the memory limit for the container. The value must be set in bytes.
If not, set it defaults to dockers default settings. You can read more about
memory.limit_in_bytes
here.
Sets the cpu shares (relative weight). If not set, it defaults to dockers default settings. You can read more about cpu.shares here.
Adds a data volume(s) to the suite container.
Examples:
volume: /ftp
volume:
- /ftp
- /srv
Adjusts resolv.conf
to use the dns servers specified. Otherwise use
dockers defaults.
Examples:
dns: 8.8.8.8
dns:
- 8.8.8.8
- 8.8.4.4
Suite container port(s) to forward to the host machine. You may specify the host (public) port in the mappings, if not, Docker chooses for you.
Examples:
forward: 80
forward:
- 22:2222
- 80:8080
- Source hosted at GitHub
- Report issues/questions/feature requests on GitHub Issues
Pull requests are very welcome! Make sure your patches are well tested. Ideally create a topic branch for every separate change you make. For example:
- Fork the repo
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Added some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
Created and maintained by Sean Porter (portertech@gmail.com)
Apache 2.0 (see LICENSE)