在新的EC2 Jenkins Slave上首次执行Docker不起作用
我在Jenkins中使用EC2 Plugin在需要的时候启动slave实例。 最近我想和Docker一起玩,所以我把它安装在我们用作奴隶的AMI上,但是在奴隶上第一次运行似乎并不奏效。
+ docker ps time="2015-04-17T15:38:20Z" level="fatal" msg="Get http:///var/run/docker.sock/v1.16/containers/json: dial unix /var/run/docker.sock: no such file or directory. Are you trying to connect to a TLS-enabled daemon without TLS?"
任何运行后,似乎工作 – 为什么奴隶不工作的第一份工作? 我试过使用sudo,在docker build之前执行docker ps ,但是没有任何东西可以解决这个问题。
问题在于Jenkins只是在等待Slave响应SSH连接,而不是Docker正在运行。
为了防止从站变得太快,请在EC2从站插件configuration部分的“Init Script”部分进行检查。 这里是我用来对付基本AMI的一个例子。
while [[ -z $(/sbin/service docker status | grep " is running...") && $sleep_counter -lt 300 ]]; do sleep 1; ((sleep_counter++)); echo "Waiting for docker $sleep_counter seconds - $(/sbin/service docker status)"; done
令人惊讶的是,从站和Docker服务启动之间可能需要60秒,因此我将超时设置为5分钟。
- 失败(404错误)通过AWS EBS泊坞窗环境中的Nginx访问Amazon Linux API泊坞窗服务
- 如何在启动(AWS)中将数据从Docker容器复制到ECS?
- 如何从Elastic Beanstalk实例访问S3存储桶中的dockerconfiguration文件
- 在Docker中使用boto3从S3下载文件失败
- 在Dockerfile FROM参数中使用–build-arg值
- RabbitMQ Docker容器不能在AWS EC2实例上工作
- 运行存储在EC2容器实例中的Docker镜像
- AWS Elastic Beanstalk Docker PHP应用程序
- 使用docker在WSO2 APIpipe理器集群中设置AWS hazelcast集群