inspec/docs/resources/docker_service.md.erb
Kimberly Garmoe b45b77cd13 Simplifies 'matchers' language in docs (#2496)
Signed-off-by: kagarmoe <kgarmoe@chef.io>
2018-01-31 07:24:16 -05:00

107 lines
2.1 KiB
Text

---
title: About the docker_service Resource
---
# docker_service
Use the `docker_service` InSpec audit resource to verify a docker swarm service.
<br>
## Syntax
A `docker_service` resource block declares the service by name:
describe docker_service('foo') do
it { should exist }
its('id') { should eq '2ghswegspre1' }
its('repo') { should eq 'alpine' }
its('tag') { should eq 'latest' }
end
The resource allows you to pass in a service id:
describe docker_service(id: '2ghswegspre1') do
...
end
You can also pass in the fully-qualified image:
describe docker_service(image: 'localhost:5000/alpine:latest') do
...
end
<br>
## Examples
The following examples show how to use this InSpec `docker_service` resource.
### Test a docker service
describe docker_service('foo') do
it { should exist }
its('id') { should eq '2ghswegspre1' }
its('repo') { should eq 'alpine' }
its('tag') { should eq 'latest' }
end
<br>
## Matchers
For a full list of available matchers please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
### exist
The `exist` matcher tests if the image is available on the node:
it { should exist }
### id
The `id` matcher returns the service id:
its('id') { should eq '2ghswegspre1' }
### image
The `image` matcher tests the value of the image. It is a combination of `repository:tag`:
its('image') { should eq 'alpine:latest' }
### mode
The `mode` matcher tests the value of the service mode:
its('mode') { should eq 'replicated' }
### name
The `name` matcher tests the value of the service name:
its('name') { should eq 'foo' }
### ports
The `ports` matcher tests the value of the service's published ports:
its('ports') { should include '*:8000->8000/tcp' }
### repo
The `repo` matcher tests the value of the repository name:
its('repo') { should eq 'alpine' }
### replicas
The `replicas` matcher tests the value of the service's replica count:
its('replicas') { should eq '3/3' }
### tag
The `tag` matcher tests the value of image tag:
its('tag') { should eq 'latest' }