web-dev-qa-db-ja.com

'docker-ce'に一致するパッケージはansibleでは利用できません

Ubuntu 18.04で、私はこのansible(バージョン2.5.1)の役割を実行しています:

---
- name: Add Docker apt repository key.
  apt_key:
    url: "https://download.docker.com/linux/ubuntu/gpg"
    state: present

- name: gather facts
  setup:    

- name: Set the stable docker repository
  apt_repository: 
    repo: "deb [Arch=AMD64] https://download.docker.com/linux/ubuntu {{ ansible_lsb.codename }} stable"
    state: present
    update_cache: yes    

- name: Install Docker
  apt:
    name: docker-ce
    state: present

このプレイブックで:

---


- hosts: localhost
  connection: local
  gather_facts: False
  become: true

  pre_tasks:
  - name: Install python for Ansible
    raw: test -e /usr/bin/python || (apt -y update && apt install -y python-minimal)

  tasks:  
  - name: Install list of packages
    apt: name={{item}} state=latest
    with_items:
         - nano
         - git
         - htop
         - gitg

  roles:
      - {role: 'docker', tags: 'docker'}

しかし、次のエラーが発生します。

PLAY [localhost] *******************************************************************************************************************************

TASK [Install python for Ansible] **************************************************************************************************************
changed: [localhost]

TASK [docker : Add Docker apt repository key.] *************************************************************************************************
ok: [localhost]

TASK [docker : gather facts] *******************************************************************************************************************
ok: [localhost]

TASK [docker : Set the stable docker repository] ***********************************************************************************************
ok: [localhost]

TASK [docker : Install Docker] *****************************************************************************************************************
fatal: [localhost]: FAILED! => {"changed": false, "msg": "No package matching 'docker-ce' is available"}
    to retry, use: --limit @/home/user/repos/ansible-vps/src/ansible_create_workstation.retry

PLAY RECAP *************************************************************************************************************************************
localhost                  : ok=4    changed=1    unreachable=0    failed=1   

それで、何らかの理由でdocker-ceパッケージが見つかりません、それは最近変更されましたか、それとも私が間違っている何か他のものですか?

また、私が調べたとき:/ etc/apt/sources.listそれは含まれていません:

deb [Arch=AMD64] https://download.docker.com/linux/ubuntu  ...

エントリ。

3
u123

Bionic(18.04)ではstableの代わりにEdgeを使用する必要があります。将来的には安定します。

- name: Set the stable docker repository
  apt_repository: 
    repo: "deb [Arch=AMD64] https://download.docker.com/linux/ubuntu {{ ansible_lsb.codename }} Edge"
    state: present
    update_cache: yes    
5
frbayart

最初にansible-galaxyをチェックし、 https://github.com/geerlingguy/ansible-role-docker のような十分にテストされたansibleロールを使用することもできます。車輪の再発明をする必要はありません。

0
030

StackOverflowに一致する投稿があります: Ansible:docker-ceに使用できるパッケージがありません

受け入れられた答えは言う:

または、Ansibleバージョン> = 2.0の場合は、汎用OSパッケージマネージャーモジュールを使用できます。

_- name: install docker
  package:
    name: docker-ce
    state: present
_

以下のコメントは言う:

_/etc/apt/sources.list_の$(lsb_release -cs)xenial(ubuntu 16.04の場合)に置き換えて、再試行します

0
harrymc