Ресурс docker_container
Используйте ресурс аудита Chef InSpec docker_container, чтобы проверить контейнер 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/