从本地可用的泊坞窗图像

时间:2015-07-15 05:04:42

标签: docker ansible ansible-playbook

我创建了一个名为revi-centos6的泊坞窗图像。 (图像尚未推送到docker hub)

使用如下命令:

sudo docker build -t revi-centos6 .

图像已成功构建。还运行了docker images并在列表中找到了新创建的docker镜像。

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

# Create a a 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] => {"更改":[" {\" status \":\"拉动存储库revi-centos6 \"} \ r \ n&#34 ;," {\" errorDetail \":{\" message \":\"错误:图片库/ revi-centos6:最新未找到\ "},\"错误\":\"错误:图片库/ revi-centos6:最新未找到\"} \ r \ n"], "失败":真实,"状态":""}   msg:拉动无法识别的状态。

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

注意:顺便说一句,我确实运行了sudo docker run -t revi-centos6,它可以从本地创建的docker镜像启动容器。只有在使用docker模块使用ansible-playbook命令时才会出现问题。

1 个答案:

答案 0 :(得分:1)

这里的问题是docker-py模块最近有一些更新,它将首先探测图像的集线器。 docker-py不使用命令行工具,它使用自己的docker api实现并以自己的方式执行操作。尝试运行自己的私人注册表。