2016-12-10 4 views
1

Docker를 설치하는 게임 북을 썼습니다.방글라데시 기계에서 게임 플레이 북을 실행하는 방법은 무엇입니까?

--- 

- name: Install dependencies 
    apt: name={{ item }} state=present update_cache=yes 
    with_items: 
    - linux-image-generic-lts-{{ ansible_distribution_release }} 
    - linux-headers-generic-lts-{{ ansible_distribution_release }} 
    become: true 

- name: Add Docker repository key 
    apt_key: 
    id: 58118E89F3A912897C070ADBF76221572C52609D 
    keyserver: hkp://p80.pool.sks-keyservers.net:80 
    state: present 
    register: add_repository_key 
    become: true 

- name: Add Docker repository 
    apt_repository: 
    repo: 'deb https://apt.dockerproject.org/repo {{ ansible_distribution_release }} main' 
    state: present 
    become: true 

- name: Install Docker 
    apt: 
    name: docker 
    state: latest 
    update_cache: yes 
    become: true 

- name: Verify the service is running 
    service: 
    name: docker 
    enabled: yes 
    state: started 
    become: true 

나는이 플레이 북을 사용하도록 구성된 방해하는 기계를 작동시키고 있습니다.

Vagrantfile : 내가 얻을 및 고정 표시기가 방랑 컴퓨터에 설치되지 않은 출력

# -*- mode: ruby -*- 
# vi: set ft=ruby : 

VAGRANTFILE_API_VERSION = "2" 

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| 
    config.vm.box = "ubuntu/trusty64" 
    config.ssh.insert_key = false 
    config.vm.synced_folder "./", "/tmp/project",create: true 
    config.vm.network :forwarded_port, guest: 80, host: 80 , auto_correct: true 

    config.vm.provider :virtualbox do |v| 
    # Name of machine 
    v.name = "default" 
    # Machine memory 
    v.memory = 1024 
    # Number of cpu's 
    v.cpus = 2 
    # This option makes the NAT engine use the host's resolver mechanisms to handle DNS requests 
    v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"] 
    # Enabling the I/O APIC is required for 64-bit guest operating systems; it is also required if you want to use more than one virtual CPU in a virtual machine. 
    v.customize ["modifyvm", :id, "--ioapic", "on"] 
    end 

    config.vm.provision "ansible" do |ansible| 
    # Sets the playbook to use when machine is up'ed 
    ansible.playbook = "deploy/main.yml" 
    end 

end 

그러나 어떤 이유로, 그건 :

$ vagrant up --provision 
Bringing machine 'default' up with 'virtualbox' provider... 
==> default: Checking if box 'ubuntu/trusty64' is up to date... 
==> default: Running provisioner: ansible... 
    default: Running ansible-playbook... 

PLAY RECAP ********************************************************************* 

는 그렇게이 올바른 방법인가 ?

실행중인 방글라데시 기계에서 재생할 수있는 명령이 있습니까?

답변

2

나는 도커를 설치하는 게임을 썼다.

--- 
- name: Install dependencies 
    apt: name={{ item }} state=present update_cache=yes 
    with_items: 
    - linux-image-generic-lts-{{ ansible_distribution_release }} 
    - linux-headers-generic-lts-{{ ansible_distribution_release }} 
    become: true 

아니, 당신이 각본을 작성하지 않았습니다. 당신은 YAML 파일을 작성했습니다.

Playbooks 재생 목록이 포함되어 있으며, 재생할 수있는 YAML 사전은 최소한 hosts 키를 포함해야합니다. 일반적인 게임에서 작업 목록은 tasks 키로 정의됩니다.

그래서 파일은 적어도 필요할 것 각본되기 위해서는 :

- hosts: default 

    tasks: 
    - name: Install dependencies 
     apt: name={{ item }} state=present update_cache=yes 
     with_items: 
     - linux-image-generic-lts-{{ ansible_distribution_release }} 
     - linux-headers-generic-lts-{{ ansible_distribution_release }} 
     become: true 

: default 여기 Vagrantfile (v.name = "default")에 정의 된 기계의 이름을 참조하지 아무것도 Ansible을 -태만.


나 실행중인 방랑 머신에서 플레이 북을 재생할 수있는 명령이 있나요?

당신은 할 수와 함께 방랑 파일에 정의 된 작전 실행, 다른, 당신은 단지, ansible-playbook을 사용하십시오를 실행하려면

vagrant provision 

을하지만 당신은 방랑의 인벤토리 파일을 가리켜 야 당신은 또한해야 remote_user으로 vagrant을 사용하십시오.

ansible-playbook -i .vagrant/provisioners/ansible/inventory/vagrant_ansible_inventory playbook.yml