Spec-Zone.ru › Chef 18

ресурс docker_container

[изменить на GitHub]

Используйте ресурс проверки Chef InSpec, чтобы протестировать контейнер Docker.

Доступность

Установка

Этот ресурс распространяется вместе с самим Chef InSpec. Вы можете использовать его автоматически.

Версия

Этот ресурс впервые стал доступен в версии v1.21.0 InSpec.

Синтаксис

Блок ресурса docker_container объявляет данные конфигурации, которые необходимо протестировать:

describe docker_container('container') do
  it { should exist }
  it { should be_running }
  its('id') { should_not eq '' }
  its('image') { should eq 'busybox:latest' }
  its('repo') { should eq 'busybox' }
  its('tag') { should eq 'latest' }
  its('ports') { should eq [] }
  its('command') { should eq 'nc -ll -p 1234 -e /bin/cat' }
end

Примеры параметров ресурса

name

Имя контейнера также можно передать с помощью параметра ресурса name:

describe docker_container(name: 'an-echo-server') do
  it { should exist }
  it { should be_running }
end

id

В качестве альтернативы, вы можете передать идентификатор контейнера:

describe docker_container(id: '71b5df59442b') do
  it { should exist }
  it { should be_running }
end

Примеры свойств

В следующих примерах показано, как использовать этот ресурс Chef InSpec.

id

Свойство id проверяет идентификатор контейнера:

its('id') { should eq 'sha:71b5df59...442b' }

repo

Свойство repo проверяет значение репозитория изображения:

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

tag

Свойство tag проверяет значение метки изображения:

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

ports

Свойство ports проверяет значение портов Docker:

its('ports') { should eq '0.0.0.0:1234->1234/tcp' }

command

Свойство command проверяет значение команды запуска контейнера:

its('command') { should eq 'nc -ll -p 1234 -e /bin/cat' }

Проверка запущенного контейнера:

describe docker_container('an-echo-server') do
  it { should exist }
  it { should be_running }
  its('id') { should_not eq '' }
  its('image') { should eq 'busybox:latest' }
  its('repo') { should eq 'busybox' }
  its('tag') { should eq 'latest' }
  its('ports') { should eq [] }
  its('command') { should eq 'nc -ll -p 1234 -e /bin/cat' }
end

Обработчики

Полный список доступных обработчиков см. на нашей странице обработчиков.

© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/inspec/resources/docker_container/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API