Ansible-03 docker安装-基于centos

devtools/2025/2/26 19:36:28/

1.创建invertory.ini并验证连通性

  • 创建invertory.ini
[docker_servers]
192.168.0.2
  • 执行命令
ansible -i invertory.ini docker_servers -m ping
  • 结果
192.168.0.2 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/libexec/platform-python"},"changed": false,"ping": "pong"
}

docker_playbook_22">2.编写docker playbook

---
- name: Install Docker and configure Tsinghua mirrorshosts: docker_servers  # 替换为你目标主机的主机名或IP地址become: yes  # 使用 sudo 提权tasks:- name: Install dependenciesyum:name:- yum-utils- device-mapper-persistent-data- lvm2state: present- name: Set Docker CE repositoryget_url:url: https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repodest: /etc/yum.repos.d/docker-ce.repo- name: Install Docker CEyum:name: docker-cestate: presentenablerepo: docker-ce-stable- name: Start and enable Docker serviceservice:name: dockerstate: startedenabled: yes- name: Verify Docker installationcommand: docker --versionregister: docker_versionchanged_when: false- name: Print Docker versiondebug:var: docker_version.stdout

ansibleplay_61">3. 执行ansible-play命令

ansible-play -i invertory.ini docker_install.yml
查看直接结果,输出成功结果

PLAY [Install Docker and configure Tsinghua mirrors] **********************************************************************************************************************************************************
TASK [Gathering Facts] ****************************************************************************************************************************************************************************************ok: [192.168.0.2]
TASK [Install dependencies] ***********************************************************************************************************************************************************************************ok: [192.168.0.2]
TASK [Set Docker CE repository] *******************************************************************************************************************************************************************************changed: [192.168.0.2]
TASK [Install Docker CE] **************************************************************************************************************************************************************************************
ok: [192.168.0.2]
TASK [Start and enable Docker service] ************************************************************************************************************************************************************************
changed: [192.168.0.2]
TASK [Verify Docker installation] *****************************************************************************************************************************************************************************
ok: [192.168.0.2]
TASK [Print Docker version] ***********************************************************************************************************************************************************************************
ok: [192.168.0.2] => {"docker_version.stdout": "Docker version 26.1.4, build 5650f9b"
}PLAY RECAP ****************************************************************************************************************************************************************************************************192.168.0.2                : ok=7    changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

4.安装过程中遇到的问题

  • 提示连接超时
PLAY [Install Docker and configure Tsinghua mirrors] *****************************************************************************************
TASK [Gathering Facts] ***********************************************************************************************************************
ok: [192.168.0.2]
TASK [Install dependencies] ******************************************************************************************************************fatal: [192.168.0.2]: FAILED! => {"changed": false, "msg": "Failure talking to yum: failure: repodata/repomd.xml from AppStream: [Errno 256] No more mirrors to try.\nhttp://mirrors.aliyun.com/centos/7/AppStream/x86_64/os/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found\nhttp://mirrors.cloud.aliyuncs.com/centos/7/AppStream/x86_64/os/repodata/repomd.xml: [Errno 12] Timeout on http://mirrors.cloud.aliyuncs.com/centos/7/AppStream/x86_64/os/repodata/repomd.xml: (28, 'Connection timed out after 30001 milliseconds')\nhttp://mirrors.aliyuncs.com/centos/7/AppStream/x86_64/os/repodata/repomd.xml: [Errno 12] Timeout on http://mirrors.aliyuncs.com/centos/7/AppStream/x86_64/os/repodata/repomd.xml: (28, 'Connection timed out after 30002 milliseconds')\nhttp://mirrors.cloud.aliyuncs.com/centos/7/AppStream/x86_64/os/repodata/repomd.xml: [Errno 12] Timeout on http://mirrors.cloud.aliyuncs.com/centos/7/AppStream/x86_64/os/repodata/repomd.xml: (28, 'Connection timed out after 30001 milliseconds')\nhttp://mirrors.aliyuncs.com/centos/7/AppStream/x86_64/os/repodata/repomd.xml: [Errno 12] Timeout on http://mirrors.aliyuncs.com/centos/7/AppStream/x86_64/os/repodata/repomd.xml: (28, 'Connection timed out after 30001 milliseconds')\nhttp://mirrors.cloud.aliyuncs.com/centos/7/AppStream/x86_64/os/repodata/repomd.xml: [Errno 12] Timeout on http://mirrors.cloud.aliyuncs.com/centos/7/AppStream/x86_64/os/repodata/repomd.xml: (28, 'Connection timed out after 30002 milliseconds')\nhttp://mirrors.aliyuncs.com/centos/7/AppStream/x86_64/os/repodata/repomd.xml: [Errno 12] Timeout on http://mirrors.aliyuncs.com/centos/7/AppStream/x86_64/os/repodata/repomd.xml: (28, 'Connection timed out after 30001 milliseconds')\nhttp://mirrors.cloud.aliyuncs.com/centos/7/AppStream/x86_64/os/repodata/repomd.xml: [Errno 12] Timeout on http://mirrors.cloud.aliyuncs.com/centos/7/AppStream/x86_64/os/repodata/repomd.xml: (28, 'Connection timed out after 30001 milliseconds')\nhttp://mirrors.aliyuncs.com/centos/7/AppStream/x86_64/os/repodata/repomd.xml: [Errno 12] Timeout on http://mirrors.aliyuncs.com/centos/7/AppStream/x86_64/os/repodata/repomd.xml: (28, 'Connection timed out after 30001 milliseconds')"}
PLAY RECAP ***********************************************************************************************************************************192.168.0.2                : ok=1    changed=0    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0

问题原因:
报错中地址为http,可能已经失效,替换为https 或者删除现在的源
排查步骤:

  • 查看现在已启用的源
    yum repolist enabled 发现有个docker源已启用
已加载插件:fastestmirror Loading mirror speeds from cached hostfile 源标识 源名称 状态 !docker-ce-stable/7/x86_64 Docker CE Stable - x86_64 337 repolist: 337
  • 查询位置
    grep -rli "http://mirrors.aliyuncs" /etc/yum.repos.d/
  • 删除这源(这里我是整个文件删除了)
    rm -rf docker-ce.repo
    刷新缓存
    sudo yum clean all && yum makecache
  • 重新执行ansible部署命令
    ansible-play -i invertory.ini docker_install.yml

http://www.ppmy.cn/devtools/162871.html

相关文章

API技术深度解析:构建高效、安全与可扩展的接口服务

在当今的数字化时代,应用程序接口(API,Application Programming Interface)已成为连接不同软件系统和服务的桥梁,是推动数字化转型的关键技术之一。无论是企业内部系统集成、第三方服务接入,还是面向开发者…

CNewMenu::QueryContextMenu函数分析之新建菜单项的创建

CNewMenu::QueryContextMenu函数分析之新建菜单项的创建 第一部分: HRESULT CNewMenu::QueryContextMenu(HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags) { // if they want the default menu only (CMF_DEFAULTONLY) OR //…

进程间通信中间件---ZeroMQ

ZeroMQ(也称为 MQ 或 0MQ)是一个高性能的异步消息传递库,专为分布式或并发应用程序设计。它提供了多种通信模式(如请求-响应、发布-订阅等),并且可以在多种传输协议(如 TCP、IPC、PGM 等&#x…

大语言模型(LLM)提示词(Prompt)高阶撰写指南

——结构化思维与工程化实践 一、LLM提示词设计的核心逻辑 1. 本质认知 LLM是「超强模式识别器概率生成器」,提示词的本质是构建数据分布约束,通过语义信号引导模型激活特定知识路径。优秀提示词需实现: 精准性:消除歧义&#…

seacmsv9管理员账号+密码注入

Seacms v9 SQL 注入漏洞分析与利用 1. 漏洞概述 Seacms(海洋 CMS)是一款基于 PHP5.X MySQL 架构的视频点播系统,被广泛用于影视站点管理。在 Seacms v9 版本中,./comment/api/index.php 存在 SQL 注入漏洞,漏洞参数…

【Linux】初探信号的奥秘

目录 一、引入信号: 1、什么是信号: 二、前后台进程: 三、信号的处理方式: 四、键盘数据与信号: 前言: 在Linux系统编程中,信号(Signal)是一种至关重要的进程间通信…

面试之《nodejs中,网络请求时stream和json的区别》

在 Node.js 网络请求中,stream(流)和 JSON(JavaScript 对象表示法)是两种不同的数据处理方式,它们在数据传输、处理方式、适用场景等方面存在明显区别,以下为你详细介绍: 数据格式和…

【愚公系列】《Python网络爬虫从入门到精通》034-DataFrame简单数据计算整理

标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。近期荣誉2022年度…