2017-02-06 5 views
0

나는 사용할 수있는 컨테이너 빌드 명령으로 간단한 Docker 이미지를 만들려고합니다.무서운 컨테이너가 java8을 사용하여 Docker 이미지를 생성합니다.

그리고 그렇게하면서 오류에 대한 해결책을 찾을 수 없습니다. 여기

가장 중요한 파일은 다음과 같습니다

main.yml

--- 
- hosts: scala-akka 
    roles: 
    - java8 

container.yml

version: "1" 
services: 
    scala-akka: 
    image: ubuntu:14.04 

registries: {} 

역할/java8/작업/main.yml

01 23,516,
--- 
# 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 컨테이너는 여전히

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 

그것은 파이썬 문제의 일종처럼 보이는 구축 --debug 이 문제를 해결할 방법이 없습니다.

제안 사항? 감사!

답변

2

대부분의 위험 모듈은 대상 호스트 (귀하의 경우에는 컨테이너)에 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 
+0

불행하게도, :(도움이되지 않았다는 [여기] (https://gist.github.com/rwalerow/5207d29cfe895109a0906038db9a4877) 당신은 오류 I를 찾을 수 있습니다 당신의 제안으로 무의미한 컨테이너가 실행될 때 얻으십시오 – viniolli

+0

출력에서 ​​오류 메시지를 읽으십시오 :'could not resolve 'deb.debian.org'' 당신의 연결을 확인해야합니다. –

+0

죄송합니다. 도커 연결. 이제 다음 단계로 싸우고 있습니다. 감사합니다! – viniolli