Opsworks食谱bash失败了

时间:2018-05-07 17:17:27

标签: docker chef aws-opsworks recipe

我对这个食谱有疑问

Chef::Log.info("***************** Deploying ***************")
bash "docker-cleanup" do
    user "root"
    returns [0, 1]
    code <<-EOH
        if docker ps | grep scheduler1;
        then
            docker stop scheduler1
            sleep 3
            docker rm scheduler1
        fi
        if docker ps -a | grep scheduler1;
        then
            docker rm scheduler1
        fi 
        if docker images | grep vouchdocker;
        then
            docker rmi $(sudo docker images | grep -m 1 vouchdocker | awk {'print $3'})
        fi
    EOH
end

Chef::Log.info('*********** Docker cleaned, pulling and running ****************')

bash "docker-login" do
    user "root"
    returns [0, 1]
    code <<-EOH
        docker login -u someuser -p somepassword
    EOH
end

bash "docker-run" do
    user "root"
    returns [0, 1]
    code <<-EOH
        docker run --name somename -p 6001:8001 -e ENV=_PRODUCTION  --restart always someregistery/someimage:latest
    EOH
end

Chef::Log.info('********** All set! ***************')

配方工作正常,除了过程被卡住,看起来它没有完成并在某处停滞。

它处于'running_setup'状态,有人知道为什么吗?

1 个答案:

答案 0 :(得分:0)

事实证明食谱工作得很好,但这个过程需要很长时间,不知道为什么。但随后配方失败,结果是因为返回[0,1],bash脚本返回2,将其更改为[0,1,2]来解决问题。谢谢!