2016-12-13 1 views
0

chef-recipe을 사용하여 CentOS 이미지 내에서 실행중인 실행중인 CentOS 컨테이너에 Jenkins와 같은 응용 프로그램을 설치하려면 어떻게해야합니까?Chef-recipe을 사용하여 CentOS 이미지 내에서 실행중인 실행중인 CentOS 컨테이너에 Jenkins와 같은 응용 프로그램을 설치하려면 어떻게해야합니까?

docker_service 'default' do 
    action [:create, :start] 
end 
# Pull latest image 
docker_image node['chef-docker']['docker-platform'] do 
    tag 'latest' 
    action :pull 
end 
# Run container 
docker_container node['chef-docker']['container-name'] do 
    repo node['chef-docker']['container-repo'] 
    command '/bin/bash' 
    port '80:80' 
    tty true 
    action :run 
    end 
docker_exec 'touch_it' do 
    container 'First' 
    command [***????????***] 
end 
+0

같은 질문을 반복해서 물어보십시오. – coderanger

답변

1

이렇게하는 것은 아주 드문 경우이며 고정 다리를 사용하는 방법이 아닙니다. 일반적으로 젠킨스가 포함 된 도커 이미지를 만들거나 기존 젠킨스 도커 이미지를 사용합니다.

이 공식 젠킨스 고정 표시기의 이미지입니다 : 당신이 주변에 이런 식으로해야 할 이유가 https://hub.docker.com/_/jenkins/

있습니까?

+0

내 요구 사항이 사용자 요청에 따라 변경됩니다. 그래서 젠킨스 도커 이미지를 당기는 것은 내 제품에서 권장하지 않습니다. – Kally

+0

chef-docker에서 사용할 수있는 docker_exec 리소스가 없습니다. bash를 실행하는 docker_container 자원이 필요 없습니다. docker_container를 사용하여 직접 원하는 명령을 내릴 수 있습니다 : https://supermarket.chef.io/cookbooks/docker#docker_container centos에 jenkins를 설치하는 명령은 여기를보십시오 : https : //wiki.jenkins- ci.org/display/JENKINS/Installing+Jenkins+on+Red+Hat+distributions – CamW

+0

@Bhave CamW를 돕기 위해 요리사와 함께 자동화하기 전에 도커가 어떻게 작동하는지 알아보십시오. 자원이 무엇을하고 있는지 전혀 알지 못하면 제대로 사용하지 않을 것입니다. Docker는 쉘을 실행하는 것이 아니라 프로세스를 실행하는 것이므로 젠킨스를 직접 실행해야합니다. 젠킨스가 설치되어 있지 않은 경우 이미지를 먼저 구운 다음 컨테이너 내부의 요리사를 사용하여 젠킨을 구성하고 시작할 수 있지만 실제로 요리사가 먼저 수행 한 작업을 시작하여 무엇을하고 있는지에 대한 적절한 통찰력을 얻으십시오. – Tensibai