使用厨师食谱动态拉动Docker图像

时间:2016-12-02 10:40:31

标签: docker chef dockerfile chef-recipe

Chef-Recipe应该做什么 -

1-安装Docker服务。 2-动态拉码头图像;计数取决于用户请求。 3-动态运行Docker容器;计数取决于用户请求。

Chef-recipe正在做什么 -

1-安装Docker服务。 2-拉码头图像; 3-运行Docker容器;

Chef-docker食谱 -

#
# Cookbook Name:: chef-docker
# Recipe:: default
#
# Copyright 2016, SONATA_SOFTWARE
#
# All rights reserved - Do Not Redistribute
#
docker_service 'default' do
  action [:create, :start]
end
# Pull latest image
docker_image 'centos' do
  tag 'latest'
  action :pull
end
# Run container 
docker_container 'first' do
  repo 'centos'
  command '/bin/bash'
  tty true
  action :run
  end  
  docker_container 'second' do
  repo 'centos'
  command '/bin/bash'
  tty true
  action :run
  end

我对如何拨打/拉动" n"无能为力没有#的图像和" n"没有动态容器的#或用户请求的外部配方。对此的任何见解都会对我有所帮助。

1 个答案:

答案 0 :(得分:0)

那么你会使用data_bag,然后查看data_bag项目,例如"容器和每个容器的拉/启动。

在文档https://docs.chef.io/data_bags.html#create-users

中查看这个非常好的示例

在他们的例子中,他们遍历一个定义用户的data_bag,然后依次创建这些用户。

因此,用户请求是该特定节点的data_bag中的条目