使用本地可用的泊坞窗图像中的ansible-playbook启动Docker Container

我创build了名称为revi-centos6的docker图像。 (该图片尚未推送到docker集线器)

使用命令如下:

sudo docker build -t revi-centos6 . 

图像build成成功。 还运行docker images并在列表中find新创build的docker图像。

我有以下的剧本内容(docker1.playbook):

 # Create aa docker container on localhost (this has an ssh server in the image) - hosts: localhost sudo: yes tasks: - name: start container docker: image=revi-centos6 hostname=test name=test detach=False state=running 

然后我运行以下命令:

 ansible-playbook --ask-sudo-pass docker1.playbook -vvvv 

但是,我得到以下错误:

失败:[localhost] => {“changes”:[“{\”status \“:\”Pulling repository revi-centos6 \“} \ r \ n”,“{\”errorDetail \ “:\”error:image library / revi-centos6:latest not found \“},\”error \“:\”Error:image library / revi-centos6:latest not found \“} \ r \ n”], “失败”:真,“状态”:“”}味精:从拉的无法识别的状态。

为什么不挑选本地构build的图像,并试图从中心查找图像? 这是否意味着每次创build新的docker图像时,我都必须将其推送到集线器?

注意:顺便说一下,我运行sudo docker run -t revi-centos6 ,它能够从本地创build的docker图像启动容器。 问题似乎只发生在与docker模块使用ansible-playbook命令。

这里的问题是最近有一些更新的docker-py模块将首先探测映像的中心。 docker-py不使用命令行工具,它使用自己的docker api实现并以自己的方式执行任务。 尝试运行您自己的私人registry。