2016-12-02 109 views
0

什麼廚師食譜應該做 -動態使用廚師配方

1-安裝多克爾服務拉泊塢圖片。 2-動態拖動Docker鏡像;計數取決於用戶請求。 3-動態運行Docker容器;計數取決於用戶請求。

廚師食譜下面正在做什麼 -

1-安裝Docker服務。 2-拉式碼頭圖片; 3-運行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」沒有#容器的動態或從用戶請求以外的配方。任何對此的見解都會對我有所幫助。

+0

廚師不是爲交互行爲做了一個項目。它應該去desc ribe系統所需的狀態。你可以在屬性文件中編寫你的用戶請求並循環,但我不確定你在做什麼。 – Tensibai

+0

@Tensibai我想用Chef-recipe動態地拉取用戶請求的圖片。我的意思是說,上面的配方會拉出只有CentOs的圖片。但我正在尋找一種方法,我可以拉我的願望的圖像.i:e,CentOs或Ubuntu等... – Kally

回答

0

那麼你會在文檔在這個很好的例子,使用一個data_bag,然後看看在data_bag的項目,如「容器和拉/每集裝箱開始。

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

在他們情況下,他們遍歷定義用戶,然後創建這些一個接一個data_bag。

所以用戶請求是在data_bag該特定節點

+0

是否有任何其他替代解決方案此 – Kally

+0

是的,你也可以使用例如節點屬性作爲散列圖或包裝食譜。但在這些情況下,用戶需要訪問node.json(廚師零)或廚師服務器(廚師 - 客戶端)。可能不太符合「按用戶要求」 –