Spec-Zone.ru › MariaDB

Развёртывание контейнеров Docker с помощью Puppet

Puppet также можно использовать для управления обновлениями и изменениями конфигурации контейнеров Docker. Docker имеет более специализированные инструменты для этой цели, но иногда есть причины выбрать альтернативы. См. Преимущества управления контейнерами Docker с помощью программного обеспечения для автоматизации.

На этой странице вы узнаете, как выглядит управление Docker с помощью Puppet. Все фрагменты кода на этой странице используют тип ресурса docker, поддерживаемый компанией Puppet.

Как установить, обновить или удалить Docker с помощью Puppet

Установка или обновление Docker проста:

class { 'docker':
  use_upstream_package_source => false,
  version => '17.09.0~ce-0~debian',
}

В этом примере мы используем репозитории нашей системы вместо официальных репозиториев Docker, и мы указываем желаемую версию. Для обновления Docker позже нам нужно только изменить номер версии. Хотя указание версии необязательно, это хорошая идея, потому что это делает наш манифест более воспроизводимым.

Для удаления Docker:

class { 'docker':
  ensure => absent
}

Проверьте документацию по типу ресурса docker, чтобы узнать, как использовать больше функций: например, вы можете использовать Docker Enterprise Edition или привязать демон Docker к TCP-порту.

Как создать или скачать Docker образы с помощью Puppet

Для скачивания образа из Dockerhub:

docker::image { 'mariadb:10.0': }

Мы указали тег 10.0, чтобы получить желаемую версию MariaDB. Если нет, будет использоваться образ с тегом latest. Обратите внимание, что это нежелательно в производственной среде, потому что это может привести к непредвиденным обновлениям.

Вы также можете написать собственный Dockerfile и затем создать из него Docker образ. Для этого вам нужно указать Puppet скопировать Dockerfile в целевую систему и затем собрать его:

file { '/path/to/remote/Dockerfile':
  ensure => file,
  source => 'puppet:///path/to/local/Dockerfile',
}

docker::image { 'image_name':
  docker_file => '/path/to/remote/Dockerfile'
}

Также можно подписаться на изменения Dockerfile и автоматически пересобирать образ всякий раз, когда обнаруживается новый файл:

docker::image { 'image_name':
  docker_file => '/path/to/remote/Dockerfile'
  subscribe => File['/path/to/remote/Dockerfile'],
}

Для удаления образа, который, возможно, был создан или скачан:

docker::image { 'mariadb':
  ensure => absent
}

Как развернуть контейнеры с помощью Puppet

Для запуска контейнера:

docker::run { 'mariadb-01':
    image   => 'mariadb:10.5',
    ports   => ['3306:6606']
}

mariadb-01 — это имя контейнера. Мы указали необязательный тег 10.5, и мы отобразили гостевой порт 3306 на хост-порт 6606. В производственной среде вы обычно не отображаете порты, потому что вам не нужно подключать клиенты MariaDB из хост-системы к серверам MariaDB в контейнерах. Инструменты сторонних производителей можно устанавливать как отдельные контейнеры.

Ссылки

  • Документация по типу ресурса docker, в документации Puppet.

Контент первоначально был предоставлен Vettabase Ltd.

Контент, воспроизведенный на этом сайте, является собственностью соответствующих владельцев, и этот контент не проверяется предварительно компанией MariaDB. Мнения, информация и взгляды, выраженные в этом контенте, не обязательно отражают взгляды MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/deploying-docker-containers-with-puppet/

Spec-Zone.ru

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