Skip to main content

docker_service resource

Use the docker_service Chef InSpec audit resource to verify a docker swarm service.

Availability

Install

This resource is distributed with Chef InSpec and is automatically available for use.

Version

This resource first became available in v1.51.0 of InSpec.

Syntax

A docker_service resource block declares the service by name:

describe docker_service('foo') do
  it { should exist }
  its('id') { should eq 'docker-service-id' }
  its('repo') { should eq 'alpine' }
  its('tag') { should eq 'latest' }
end

Resource Parameter Examples

The resource allows you to pass in a service id:

describe docker_service(id: 'docker-service-id') do
  ...
end

You can also pass in the fully-qualified image:

describe docker_service(image: 'localhost:5000/alpine:latest') do
  ...
end

Property Examples

The following examples show how to use Chef InSpec docker_service resource.

id

The id property returns the service id:

its('id') { should eq 'docker-service-id' }

image

The image property is a combination of repository:tag it tests the value of the image:

its('image') { should eq 'alpine:latest' }

mode

The mode property tests the value of the service mode:

its('mode') { should eq 'replicated' }

name

The name property tests the value of the service name:

its('name') { should eq 'foo' }

ports

The ports property tests the value of the service’s published ports:

its('ports') { should include '*:8000->8000/tcp' }

repo

The repo property tests the value of the repository name:

its('repo') { should eq 'alpine' }

replicas

The replicas property tests the value of the service’s replica count:

its('replicas') { should eq '3/3' }

tag

The tag property tests the value of image tag:

its('tag') { should eq 'latest' }

Test a docker service

describe docker_service('foo') do
  it { should exist }
  its('id') { should eq 'docker-service-id' }
  its('repo') { should eq 'alpine' }
  its('tag') { should eq 'latest' }
end

Matchers

For a full list of available matchers, see our Universal Matchers page.

This resource has the following special matchers.

exist

The exist matcher tests if the image is available on the node:

it { should exist }
Edit this page on GitHub

Thank you for your feedback!

×