欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 锐评 > Ansible-03 docker安装-基于centos

Ansible-03 docker安装-基于centos

2025/5/11 0:52:50 来源:https://blog.csdn.net/zxh_2581285470/article/details/145847431  浏览:    关键词:Ansible-03 docker安装-基于centos

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"
}

2.编写docker playbook

  • 创建docker_install.yml
    touch docker_install.yml
  • 编辑docker_install.yml
---
- 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

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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词