Ansibleインストールに失敗しました(docker-latest docker docker-python python-docker-py)

Ansibleインストールに失敗しました(docker-latest docker docker-python python-docker-py)

次のプレイブックを実行しようとしています。

.
.
.
  tasks:
    - name: Install python and build dependencies
      yum: pkg={{ item }} state=installed
      with_items:
         - docker-latest
         - docker
         - docker-python
         - python-docker-py
 .
 .
 .

しかし、これが私が得るものです:

failed: [myVM] (item=['docker-latest', 'docker', 'docker-python', 'python-docker-py'])
               => {"changed": false,
                   "failed": true,
                   "item": ["docker-latest",
                            "docker",
                            "docker-python",
                            "python-docker-py"],
                   "msg": "No package matching 'docker-latest' found available, installed or updated",
                   "rc": 126,
                   "results": ["No package matching 'docker-latest' found available, installed or updated"]
                   }

私のホストオペレーティングシステムはCentOS Linuxバージョン7.9.2009です。

答え1

回答

パッケージによると、docker-latestリストの一部ではありません。公式ルーストアバウト文書

このプロセスは、次のパッケージをインストールする必要があることを示します。

yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

したがって、あなたの場合にはインストールしてくださいルーストアバウトスタックアンシプール(提供されたループを新しい構文に置き換えます):

# ...
- name: Install Docker packages
  ansible.builtin.yum:
    name:
      - docker-ce
      - docker-ce-cli
      - containerd.io
      - docker-buildx-plugin
      - docker-compose-plugin
    state: latest
# ...

リストに追加して、必要な他のパッケージを追加できます。

DockerをインストールするためのAnsibleマニュアル

以下は、Dockerのインストール用に私が作成したシンプルなプレイブックです。実行する準備が整ったスクリプトではなく、適応のための基盤として考えてください。

---
- name: Install Docker stack on CentOS 7
  hosts: <yourTarget(s)>

  tasks:
  - name: Upgrade all packages
    ansible.builtin.yum:
      name: "*"
      state: latest

  - name: Remove old Docker packages
    ansible.builtin.yum:
      name:
        - docker
        - docker-client
        - docker-client-latest
        - docker-common
        - docker-latest
        - docker-latest-logrotate
        - docker-logrotate
        - docker-engine
      state: absent

  - name: Enable centos-extras repository
    ansible.builtin.yum_repository:
      name: centos-extras
      state: present
      enabled: true

  - name: Set up Docker repository
    ansible.builtin.get_url:
      url: https://download.docker.com/linux/centos/docker-ce.repo
      dest: /etc/yum.repos.d/docker-ce.repo

  - name: Install Docker packages
    ansible.builtin.yum:
      name:
        - docker-ce
        - docker-ce-cli
        - containerd.io
        - docker-buildx-plugin
        - docker-compose-plugin
      state: latest

  - name: Enable and start Docker service
    ansible.builtin.service:
      name: docker
      state: restarted
      enabled: true

関連情報