分享

ansible安装docker脚本

 苏鱼鱼的IT运维 2019-07-15

使用ansible批量在服务器安装docker

注意:

1. ansible版本是2.8,其他版本也都是支持的,低版本请自行百度下,看下模块的使用方法

2. 我修改了docker的存储路径,默认是在/var/lib/docker,系统盘太小,所以单独挂载了一块数据盘,挂载到了/data,执行脚本请确定有/data此目录

3. 使用直接修改 yourhosts即可

4. 配置范例

cat /etc/ansible/hosts

[yourhosts]

web01 ansible_host=192.168.10.30 ansible_port=22 ansible_user=root ansible_password=1qaz

web02 ansible_host=192.168.10.23 ansible_port=22 ansible_user=root ansible_password=2wsx

5. 执行脚本

ansible-playbook docker_install.yml

6. 脚本内容:

cat /usr/local/srcipt/docker_install.yml

---

  - hosts: yourhosts

    remote_user: root

    tasks:

      - name: Add epel-release repository

        yum_repository:

          name: epel

          description: EPEL YUM repo

          baseurl: https://download./pub/epel/$releasever/$basearch/

          gpgcheck: no

      - name: Installing System Dependency Packages

        yum:

          name:

            - yum-utils

            - device-mapper-persistent-data

            - lvm2

          state: present

          disable_gpg_check: yes

      - name: Add Docker Yum Repo

        shell: yum-config-manager --add-repo https://download./linux/centos/docker-ce.repo

      - name: Install docker

        yum:

          name: docker-ce

          state: present

          disable_gpg_check: yes

        notify: install docker

    handlers:

      - name: Created symlink from docker.services

        listen: install docker

        shell: systemctl enable docker

      - name: Create docker configuration file paths

        listen: install docker

        file:

          path: /etc/docker

          state: directory

      - name: Create docker data paths

        listen: install docker

        file:

          path: /data/docker

          state: directory

      # 注意 marker中不能有值,因为docker配置文件的#不是注释,有可能启动失败

      - name: Create configuration

        listen: install docker

        blockinfile:

          path: /etc/docker/daemon.json

          create: yes

          content: |

              {

              "live-restore": true,

              "registry-mirrors": ["https://pee6w651.mirror."]

              }

          marker: " "

          # marker: "#{mark} ansible aliyun config"

      - name: Modify the data file path

        listen: install docker

        lineinfile:

          path: /usr/lib/systemd/system/docker.service

          regexp: "^ExecStart"

          line: ExecStart=/usr/bin/dockerd --graph /data/docker

      - name: daemon reload

        listen: install docker

        shell: systemctl disable docker && systemctl enable docker && systemctl daemon-reload

      - name: start docker server

        listen: install docker

        service:

          name: docker

          state: started

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多