Playbook批量部署Docker

一、部署docker方法

1、yum

2、二进制 

  以二进制批量部署docker

二、Playbook配置文件

[root@k8s-master2 ~]# mkdir docker-deploy

[root@k8s-master2 ~]# cd docker-deploy/

[root@k8s-master2 docker-deploy]# ls

[root@k8s-master2 docker-deploy]# mkdir files

[root@k8s-master2 docker-deploy]# cd files/

root@k8s-master2 files]# ls

docker  docker-18.09.6.tgz  docker.service

[root@k8s-master2 docker-deploy]# more deploy.yaml

---

- hosts: webservers

  vars:

  remoter_user: root

  gather_facts: false

  

  tasks:

  - name: 分发解压包

    unarchive: src=/files/docker-18.09.6.tgz dest=/tmp

  - name: 移动二进制文件

    shell: mv /tmp/docker/* /usr/bin

  - name: 分发service文件

    copy: src=files/docker.service dest/usr/lib/systemd/system

  - name: 启动设置开机启动

    systemd: name=docker state=restarted enabled=yes

  - name: docker 启动状态

    shell: docker info

    register: docker

  - debug: var=docker.stdout_lines 

三、systemd管理服务

[root@k8s-master2 files]# more docker.service

[Unit]

Description=Docker Application Container Engine

Documentation=https://docs.docker.com

After=network-online.target firewalld.service containerd.service

Wants=network-online.target 

[Service]

Type=notify

ExecStart=/usr/bin/dockerd

ExecReload=/bin/kill -s HUP $MAINPID

TimeoutSec=0

RestartSec=2

Restart=always

StartLimitBurst=3

StartLimitInterval=60s

LimitNOFILE=infinity

LimitNPROC=infinity

LimitCORE=infinity

TasksMax=infinity

Delegate=yes

KillMode=process

[Install]

WantedBy=multi-user.target

四、验证节点服务器docker启动

[root@k8s-master2 docker-deploy]# ansible-playbook  deploy.yaml 

图片

图片

[root@k8s-node2 ~]# docker --version

Docker version 18.09.6, build 481bc77

↓↓ 点击"阅读原文" 【加入DevOps运维团】

相关阅读:

1、ansible条件判断和循环

2、Playbook分发Nginx配置文件

3、干货--ansible配置和服务器批量分发(一)

4、干货--ansible配置和服务器批量分发(二)

5、阿里云--实战Ansible批量更新远程主机用户密码

图片

相关文章

Docker是什么Docker是 Docker.Inc 公司开源的一个基于 LXC技...
本文为原创,原始地址为:http://www.cnblogs.com/fengzheng...
镜像操作列出镜像:$ sudo docker imagesREPOSITORY TAG IMA...
本文原创,原文地址为:http://www.cnblogs.com/fengzheng/p...
在 Docker 中,如果你修改了一个容器的内容并希望将这些更改...
在Docker中,--privileged 参数给予容器内的进程几乎相同的权...