繁体   English   中英

从本地可用的Docker映像中使用ansible-playbook启动Docker容器

[英]Launch Docker Container using ansible-playbook from a locally available docker image

我创建了一个名为revi-centos6的docker镜像。 (映像尚未推送到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] => {“ changes”:[“ {\\”状态\\“:\\”拉存储库revi-centos6 \\“} \\ r \\ n”,“ {\\” errorDetail \\“:{\\” message \\ “:\\”错误:图片库/ revi-centos6:最新找不到\\“},\\”错误\\“:\\”错误:图片库/ revi-centos6:最新找不到\\“} \\ r \\ n”], “失败”:true,“状态”:“”} msg:拉式状态无法识别。

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

注意:顺便说一句,我确实运行了sudo docker run -t revi-centos6 ,它能够从本地创建的docker映像启动容器。 问题似乎仅在通过ansible-playbook模块使用ansible-playbook命令时出现。

此处的问题与docker-py模块有关,该模块最近进行了一些更新,它将首先检测映像的集线器。 docker-py不使用命令行工具,它使用自己的docker api实现并以自己的方式执行操作。 尝试运行您自己的私人注册表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM