Ansible容器使用java8创建Docker映像

Ansible容器使用java8创建Docker映像,ansible,ansible-container,Ansible,Ansible Container,我正在尝试使用ansible容器构建命令创建简单的Docker映像 我无法找到一个解决方法来解决我在这样做时遇到的错误 以下是最重要的文件: main.yml container.yml roles/java8/tasks/main.yml 每次尝试运行时都会遇到的错误 ansible容器——调试构建 ansible-container|1 |主机scala akka正在运行 ansible-container_1 |使用/ansible container/ansible/ansible.cf

我正在尝试使用ansible容器构建命令创建简单的Docker映像

我无法找到一个解决方法来解决我在这样做时遇到的错误

以下是最重要的文件:

main.yml

container.yml

roles/java8/tasks/main.yml

每次尝试运行时都会遇到的错误

ansible容器——调试构建

ansible-container|1 |主机scala akka正在运行
ansible-container_1 |使用/ansible container/ansible/ansible.cfg作为配置文件
ansible-container|1|
ansible-container|剧本:main.yml*************************************************************
ansible-container|1|1在main.yml中播放
ansible-container|1|
ansible-container|u 1 |播放[斯卡拉阿卡]**************************************************************
ansible-container|1|
ansible-container|1|任务[设置]*******************************************************************
ansible-container|为用户建立DOCKER连接:root
ansible-container|u 1 | EXEC['/usr/bin/docker',EXEC',i',u'ansibleぃscala-akkaぃu',u'/bin/sh/sh-c','-c',u'/bin/sh-c\'(umask 77&&mkdir-p“`echo$HOME/.ansible/tmp/ansible-tmp-1486389293.49-274006099773087`&&echo-tmp-14863892987'-2740787&&sleep 0\'']
ansible-container|u 1 |将/tmp/tmpi6WTY3放到/root/。ansible/tmp/ansible-tmp-1486389293.49-274000099773087/setup
ansible-container|u 1 | EXEC['/usr/bin/docker',EXEC',i',u'ansible_scala-akka_1',u'/bin/sh','-c',u'/bin/sh-c'LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_消息=en_-US.UTF-8/usr/bin/python/root/.ansible/tmp/ansible-tmp-1486389293.49-27409787/setup;rm-ansible-tmp-73097949;-730979/.2749979/.2749979/>/dev/null 2>&1&&sleep 0\']
ansible-container|u 1 |致命:[scala-akka]:失败!=>{“changed”:false,“failed”:true,“invocation”:{“module_name”:“setup”},“module_stderr”:“/bin/sh:1:/usr/bin/python:not found\n”,“module_stdout”:“msg”:“module FAILURE”,“parsed”:false}
ansible-container|1|
ansible-container|1 |没有其他主机了*************************************************************
ansible-container|1|
ansible-container|u 1 |播放回放*********************************************************************
ansible-container_1 | scala akka:ok=0更改=0无法访问=0失败=1
ansible-container|1|
ansible-container_1 |[警告]:无法创建重试文件“main.retry”。[Errno 2]没有这样的问题
ansible-container|文件或目录:“”
ansible_ansible-container_1已退出,代码为1
正在容器退出时中止。。。
停止ansible_scala-akka_1。。。完成
Ansible playbook运行失败。
正在清理Ansible容器生成器。。。
正在清理临时目录/tmp/tmpme3nWT。。。
Ansible生成失败
回溯(最近一次呼叫最后一次):
命令行中的文件“/usr/local/lib/python2.7/dist-packages/container/cli.py”,第212行
getattr(引擎,u'cmdrun_{}.format(args.subcommand))(**vars(args))
文件“/usr/local/lib/python2.7/dist packages/container/engine.py”,第384行,在cmdrun\u build中
引发运行时错误(u'Ansible build failed')
运行时错误:Ansible生成失败
这看起来像是某种python问题,但我仍然不知道如何修复它


有什么建议吗?谢谢

大多数Ansible模块都需要目标主机上的Python(在您的情况下是容器)。
ubuntu:14.04
Docker镜像没有预装一个

在main.yml中使用此选项:

---
- hosts: scala-akka
  gather_facts: false

  pre_tasks:
    - raw: 'which python || (apt-get -q -y update && apt-get install -q -y python-minimal)'
    - setup:

  roles:
    - java8

大多数Ansible模块都需要目标主机上的Python(在您的情况下是容器)。
ubuntu:14.04
Docker镜像没有预装一个

在main.yml中使用此选项:

---
- hosts: scala-akka
  gather_facts: false

  pre_tasks:
    - raw: 'which python || (apt-get -q -y update && apt-get install -q -y python-minimal)'
    - setup:

  roles:
    - java8

不幸的是,没有帮助:(当ansible container与您的提案一起运行时,您可以找到我遇到的错误。请阅读输出中的错误消息:
无法解析'deb.debian.org'
您应该检查您的连接。抱歉,我意识到VPN连接与docker连接有冲突。现在我正在进行下一步。谢谢!不幸的是,没有帮助:(当ansible container与您的提案一起运行时,您可以找到我遇到的错误。请阅读输出中的错误消息:
无法解析'deb.debian.org'
您应该检查您的连接。抱歉,我实现了VPN连接与docker连接的冲突。现在我正在进行下一步。谢谢!
---
# Add oracle ppa to apt_key
- name: Add oracke ppa to apt_repository
  apt_repository:
    repo: 'ppa:webupd8team/java'

# Install Oracle Java8
- name: Install oracle Java8
  apt:
    name: oracle-java8-installer
    state: present
ansible-container_1  | Host scala-akka running
ansible-container_1  | Using /ansible-container/ansible/ansible.cfg as config file
ansible-container_1  | 
ansible-container_1  | PLAYBOOK: main.yml *************************************************************
ansible-container_1  | 1 plays in main.yml
ansible-container_1  | 
ansible-container_1  | PLAY [scala-akka] **************************************************************
ansible-container_1  | 
ansible-container_1  | TASK [setup] *******************************************************************
ansible-container_1  | <ansible_scala-akka_1> ESTABLISH DOCKER CONNECTION FOR USER: root
ansible-container_1  | <ansible_scala-akka_1> EXEC ['/usr/bin/docker', 'exec', '-i', u'ansible_scala-akka_1', u'/bin/sh', '-c', u'/bin/sh -c \'( umask 77 && mkdir -p "` echo $HOME/.ansible/tmp/ansible-tmp-1486389293.49-274006099773087 `" && echo ansible-tmp-1486389293.49-274006099773087="` echo $HOME/.ansible/tmp/ansible-tmp-1486389293.49-274006099773087 `" ) && sleep 0\'']
ansible-container_1  | <ansible_scala-akka_1> PUT /tmp/tmpi6WTY3 TO /root/.ansible/tmp/ansible-tmp-1486389293.49-274006099773087/setup
ansible-container_1  | <ansible_scala-akka_1> EXEC ['/usr/bin/docker', 'exec', '-i', u'ansible_scala-akka_1', u'/bin/sh', '-c', u'/bin/sh -c \'LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 /usr/bin/python /root/.ansible/tmp/ansible-tmp-1486389293.49-274006099773087/setup; rm -rf "/root/.ansible/tmp/ansible-tmp-1486389293.49-274006099773087/" > /dev/null 2>&1 && sleep 0\'']
ansible-container_1  | fatal: [scala-akka]: FAILED! => {"changed": false, "failed": true, "invocation": {"module_name": "setup"}, "module_stderr": "/bin/sh: 1: /usr/bin/python: not found\n", "module_stdout": "", "msg": "MODULE FAILURE", "parsed": false}
ansible-container_1  | 
ansible-container_1  | NO MORE HOSTS LEFT *************************************************************
ansible-container_1  | 
ansible-container_1  | PLAY RECAP *********************************************************************
ansible-container_1  | scala-akka                 : ok=0    changed=0    unreachable=0    failed=1   
ansible-container_1  | 
ansible-container_1  |  [WARNING]: Could not create retry file 'main.retry'.         [Errno 2] No such
ansible-container_1  | file or directory: ''
ansible_ansible-container_1 exited with code 1
Aborting on container exit...
Stopping ansible_scala-akka_1 ... done
Ansible playbook run failed.
Cleaning up Ansible Container builder...
Cleaning up temporary directory /tmp/tmpme3nWT...
Ansible build failed
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/container/cli.py", line 212, in commandline
    getattr(engine, u'cmdrun_{}'.format(args.subcommand))(**vars(args))
  File "/usr/local/lib/python2.7/dist-packages/container/engine.py", line 384, in cmdrun_build
    raise RuntimeError(u'Ansible build failed')
RuntimeError: Ansible build failed
---
- hosts: scala-akka
  gather_facts: false

  pre_tasks:
    - raw: 'which python || (apt-get -q -y update && apt-get install -q -y python-minimal)'
    - setup:

  roles:
    - java8