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 ...
エントリ。
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
最初にansible-galaxyをチェックし、 https://github.com/geerlingguy/ansible-role-docker のような十分にテストされたansibleロールを使用することもできます。車輪の再発明をする必要はありません。
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の場合)に置き換えて、再試行します