Пакет сопоставления 'docker-ce' не доступен с ansible

1643
u123

В 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={} state=latest with_items: - nano - git - htop - gitg  roles: -  

Но я получаю следующую ошибку:

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 ... 

запись.

0

3 ответа на вопрос

1
frbayart

Вам нужно использовать Edge вместо стабильного с Bionic (18.04), в будущем оно будет стабильным.

- 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  
0
harrymc

В StackOverflow есть соответствующая запись: Ansible: пакет не доступен для docker-ce .

Принятый ответ говорит:

Или вы можете использовать стандартный модуль диспетчера пакетов ОС, если Ansible version> = 2.0:

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

Комментарий ниже говорит:

замените его $(lsb_release -cs)на xenial(для Ubuntu 16.04) /etc/apt/sources.listи повторите попытку

0
030

Можно также сначала проверить ansible-galaxy и использовать хорошо протестированную роль ansible, например https://github.com/geerlingguy/ansible-role-docker . Не нужно изобретать велосипед.

Похожие вопросы