README.md in kitchen-docker-2.10.0 vs README.md in kitchen-docker-2.11.0

- old
+ new

@@ -5,10 +5,12 @@ [![Coverage](https://img.shields.io/codecov/c/github/test-kitchen/kitchen-docker.svg)](https://codecov.io/github/test-kitchen/kitchen-docker) [![License](https://img.shields.io/badge/license-Apache_2-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0) A Test Kitchen Driver and Transport for Docker. +***MAINTAINERS WANTED***: This Test-Kitchen driver is currently without a maintainer and has many known issues. If you're interested in maintaining this driver for the long run including expanding the CI testing please reach out on [Chef Community Slack: #test-kitchen](https://chefcommunity.slack.com/archives/C2B6G1WCQ). Until such a time that this driver is maintained we highly recommend the [kitchen-dokken](https://github.com/test-kitchen/kitchen-dokken) for Chef Infra testing with Docker containers. + ## Requirements * [Docker][docker_installation] **(>= 1.5)** ## Installation and Setup @@ -21,11 +23,11 @@ --- driver: name: docker env_variables: TEST_KEY: TEST_VALUE - + platforms: - name: ubuntu run_list: - recipe[apt] - name: centos @@ -107,12 +109,12 @@ binary: /opt/docker ``` ### socket -The Docker daemon socket to use. By default, Docker will listen on `unix:///var/run/docker.sock` (On Windows, `npipe:////./pipe/docker_engine`), -and no configuration here is required. If Docker is binding to another host/port or Unix socket, you will need to set this option. +The Docker daemon socket to use. By default, Docker will listen on `unix:///var/run/docker.sock` (On Windows, `npipe:////./pipe/docker_engine`), +and no configuration here is required. If Docker is binding to another host/port or Unix socket, you will need to set this option. If a TCP socket is set, its host will be used for SSH access to suite containers. Examples: ```yaml @@ -162,18 +164,31 @@ images using the [Docker Index][docker_index]. The default will be computed, using the platform name (see the Default Configuration section for more details). +### isolation + +The isolation technology for the container. This is not set by default and will use the default container isolation settings. + +For example, the following driver configuration options can be used to specify the container isolation technology for Windows containers: +```yaml +# Hyper-V +isolation: hyperv + +# Process +isolation: process +``` + ### platform The platform of the chosen image. This is used to properly bootstrap the suite container for Test Kitchen. Kitchen Docker currently supports: * `arch` * `debian` or `ubuntu` -* `amazonlinux`, `rhel`, `centos`, `fedora` or `oraclelinux` +* `amazonlinux`, `rhel`, `centos`, `fedora`, `oraclelinux`, `almalinux` or `rockylinux` * `gentoo` or `gentoo-paludis` * `opensuse/tumbleweed`, `opensuse/leap`, `opensuse` or `sles` * `windows` The default will be computed, using the platform name (see the Default @@ -310,10 +325,43 @@ - repos - logging - rvm ``` +### mount + +Attach a filesystem mount to the container (**NOTE:** supported only in docker +17.05 and newer). + +Examples: + +```yaml + mount: type=volume,source=my-volume,destination=/path/in/container +``` + +```yaml + mount: + - type=volume,source=my-volume,destination=/path/in/container + - type=tmpfs,tmpfs-size=512M,destination=/path/to/tmpdir +``` + +### tmpfs + +Adds a tmpfs volume(s) to the suite container. + +Examples: + +```yaml + tmpfs: /tmp +``` + +```yaml + tmpfs: + - /tmp:exec + - /run +``` + ### dns Adjusts `resolv.conf` to use the dns servers specified. Otherwise use Dockers defaults. @@ -585,9 +633,9 @@ [repo]: https://github.com/test-kitchen/kitchen-docker [docker_installation]: https://docs.docker.com/installation/#installation [docker_upstart_issue]: https://github.com/dotcloud/docker/issues/223 [docker_index]: https://index.docker.io/ [docker_default_image]: https://index.docker.io/_/base/ -[test_kitchen_docs]: http://kitchen.ci/docs/getting-started/ +[test_kitchen_docs]: https://kitchen.ci/docs/getting-started/introduction/ [chef_omnibus_dl]: https://downloads.chef.io/chef-client/ [cpu_shares]: https://docs.fedoraproject.org/en-US/Fedora/17/html/Resource_Management_Guide/sec-cpu.html [memory_limit]: https://docs.fedoraproject.org/en-US/Fedora/17/html/Resource_Management_Guide/sec-memory.html