ansible 部署docker

news/2024/7/8 9:20:16

简介

从接触到使用Ansible大概有一天的时间,对它的理解也是比较肤浅。我单纯的认为,他可以帮助我们在服务器之间传输文件,同时还可以执行一些shell命令。

安装Ansible

官网地址

sudo apt-get update
sudo apt-get install software-properties-common
sudo apt-add-repository ppa:ansible/ansible
sudo apt-get update
sudo apt-get install ansible

编写docker的playbook yaml文件

---
- hosts: localhost
  remote_user: root
  tasks:
    - name: 创建目录
      file:
        path: "{{ path }}"
        state: directory
        owner: root
        group: root
        mode: 0775
      loop:
        - /opt/tools
        - /etc/docker
      loop_control:
        loop_var: path
    - name: 下载软件包
      get_url: 
        url: https://download.docker.com/linux/static/stable/x86_64/docker-19.03.9.tgz 
        dest: /opt/tools
    - name: 解压软件包
      unarchive:
        src: /opt/tools/docker-19.03.9.tgz
        dest: /usr/local
        copy: no 
        mode: 0755
    - name: COPY 执行文件
      shell:
        chdir: /usr/local
        cmd: cp -rf docker/* /usr/bin
    - name: docker 镜像加速
      shell:
        cmd: |
          cat > /etc/docker/daemon.json << EOF
          {
          "registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"]
          }
          EOF
    - name: service 管理docker
      shell:
        cmd: |
          cat > /lib/systemd/system/docker.service << EOF
          [Unit]
          Description=Docker Application Container Engine
          Documentation=https://docs.docker.com
          After=network-online.target firewalld.service
          Wants=network-online.target

          [Service]
          Type=notify
          ExecStart=/usr/bin/dockerd
          ExecReload=/bin/kill -s HUP $MAINPID
          LimitNOFILE=infinity
          LimitNPROC=infinity
          LimitCORE=infinity
          TimeoutStartSec=0
          Delegate=yes
          KillMode=process
          Restart=on-failure
          StartLimitBurst=3
          StartLimitInterval=60s

          [Install]
          WantedBy=multi-user.target
          EOF
    - name: 启动docker
      systemd: 
        daemon_reload: yes
        name: docker 
        state: restarted 
        enabled: yes
    - name: 删除/usr/local/docker
      file:
        path: /usr/local/docker
        state: absent      
    - name: 查看状态
      shell: docker info
      register: docker 
    - debug: 
        var: docker.stdout_lines

开始安装

# 检查yaml 文件是否存在语法格式错误
ansible-playbook  --check --syntax-check docker.yaml
# 模拟运行 -C 或者 --check
ansible-playbook  -C docker.yaml
# 没有问题的话执行安装
ansible-playbook docker.yaml

在这里插入图片描述在这里插入图片描述

检查安装

docker info

在这里插入图片描述


http://www.niftyadmin.cn/n/2017152.html

相关文章

时间戳(时间戳服务器)技术生成原理

时间戳&#xff08;时间戳服务器&#xff09;技术生成原理 时间戳&#xff08;时间戳服务器&#xff09;技术生成原理 可信时间戳已成为确立电子数据法律效力的重要技术之一。在全球信息化的大趋势下&#xff0c;以计算机及其网络为依托的电子数据&#xff0c;在证明案件事实的…

企业生产网计算机网络时间同步(NTP授时服务器)

企业生产网计算机网络时间同步&#xff08;NTP授时服务器&#xff09; 企业生产网计算机网络时间同步&#xff08;NTP授时服务器&#xff09; 摘要&#xff1a;保持生产环境中全网计算机时间的同步是一件很重要且必须的事情&#xff0c;至少在我们的网络环境中就是这样。我们的…

数字网络时钟,论分布式系统中时钟同步的重要性

数字网络时钟,论分布式系统中时钟同步的重要性 京准电子科技原创文章&#xff0c;未经授权请勿转载&#xff01; 分布式系统由Tanenbaum定义&#xff0c;“分布式系统是一组独立的计算机&#xff0c;在”分布式系统 — 原理和范例“中作为用户的单一&#xff0c;连贯的系统…

NTP网络时钟同步系统技术发展前景

NTP网络时钟同步系统技术发展前景 1、引言 作为数字通信网的基础支撑技术&#xff0c;时钟同步技术的发展演进始终受到通信网技术发展的驱动。在网络方面&#xff0c;通信网从模拟发展到数字&#xff0c;从TDM网络为主发展到以分组网络为主&#xff1b;在业务方面&#xff0c;…

卫星对时服务器的技术方案应用

卫星对时服务器的技术方案应用 随着自动化技术的迅猛发展&#xff0c;各钟设备的正常运行 离不开时间记录和统一的时间基准&#xff0c;因而在这些装置内部都有自己的时钟&#xff0c;即“内时钟”。但是&#xff0c;这些时钟都是电子式的&#xff0c; 它的准确性一般不是很高…

GPS北斗卫星授时设备(京准)

GPS北斗卫星授时设备&#xff08;京准&#xff09; 子母钟系统是一个大型计时系统&#xff0c;该系统的信号接收单元具有接收GPS、北斗卫星标准时间信号的功能&#xff0c;为整个系统提供时间同步校对服务&#xff0c;消除计时系统的积累误差&#xff0c;是一个高精度、高可靠…

卫星对时系统(北斗卫星对时系统)京准电子使用手册

卫星对时系统&#xff08;北斗卫星对时系统&#xff09;京准电子使用手册 卫星对时系统&#xff08;北斗卫星对时系统&#xff09;京准电子使用手册 卫星对时系统 使用手册   目 录 装置的用途及特点 1 1.1 用途 1 1.2 特点 1技术指标 3 2.1 物理参数 3 2.2 环境条件 4 2.3…

LED电子时钟,时间显示屏,网络子母钟系统方案(京准电子)

LED电子时钟,时间显示屏,网络子母钟系统方案&#xff08;京准电子&#xff09; LED电子时钟,时间显示屏,网络子母钟系统方案&#xff08;京准电子&#xff09; 摘要&#xff1a;某机场指挥调度、离港系统、航显广播等多个重要信息系统之间的时钟同步&#xff0c;对机场的正常运…