发表于 2018-7-30 06:27:25

ansible 部署基于centos7+docker+nginx+openssl+v2版私有仓库

- name: cpdocker.repo client  
template: src=docker.repo dest=/etc/yum.repos.d/docker.repo # 上传yum 源到客户机。
  
- name: cpdocker to /etc/sysconfig/docker
  
template: src=docker dest=/etc/sysconfig/docker # 上传配置文件到客户机
  
- name: yum install docker
  
yum: name=docker-engine state=present # 安装docker
  
- name: docker Using the specified configuration file
  
template: src=docker.servicedest=/lib/systemd/system/docker.service # 上传启动文件到客户机
  
- name: enabled service docker.service
  
service: name=docker.service enabled=yes # 打开docker 开机启动
  
- name: systemctl daemon-reload
  
shell: systemctl daemon-reload # 刷新 系统 service 服务器
  
- lineinfile: dest=/etc/sysconfig/docker regexp=^OPTIONS= line=OPTIONS='--selinux-enabled --insecure-registry {{ Domain_name }} --log-driver=journald' # 修改docker 本机能够http 访问
  
- name: systemctl daemon-reload
  
shell: systemctl daemon-reload # 刷新 系统 service 服务器
  
- name: startservice docker.service # 启动docker 服务
  
service: name=dockerstate=started
  
- name: create /{{ dockerdata }}/registry # 创建docker 数据文件夹
  
shell: mkdir -p /{{ dockerdata }}/registry
  
- name: selinx /{{ dockerdata }}/registry # selinx 开启 docker 服务文件读写权限 如果关闭selinx 会报错 可以不理会
  
shell: chcon -Rt svirt_sandbox_file_t /{{ dockerdata }}
  
ignore_errors: True
  
- name: yum epel-release # 安装yum epel 源 如果安装就不会安装
  
yum: name=epel-release state=present
  
- name: yum python-pip # 安装PIP 支持
  
yum: name=python-pip state=present
  
- pip: name=docker-py # 安装dockerapi
  
- name: docker registry:2.4.1
  
docker:
  
    image: registry:2.4.1 # docker images
  
    state: reloaded
  
    pull: always # 每次都pull 镜像
  
    volumes:
  
    - "/{{ dockerdata }}/registry:/var/lib/registry/" # docker 文件加映射
  
    ports:
  
    - "5000:5000" docker #端口映射
  
- name: mkdir -p /{{ dockerkey }}# 创建docker nginx 证书存放文件夹
  
shell:mkdir -p /{{ dockerkey }}
  
- name: selinux/{{ dockerkey }} # selinx 放行文件夹
  
shell: chcon -Rt svirt_sandbox_file_t /{{ dockerkey }}
  
ignore_errors: True
  
- name: up key file client
  
copy: src=dockerkey/dest=/{{ dockerkey }}/ # 上传证书文件到客户机
  
- name: up nginx file client
  
template: src=docker.conf.j2 dest=/etc/nginx/conf.d/docker.conf # 上次nginx docker 代理配置到客户机
  
- name: /usr/sbin/nginx-s reload # 刷新nginx 配置
  
shell: /usr/sbin/nginx-s reload
页: [1]
查看完整版本: ansible 部署基于centos7+docker+nginx+openssl+v2版私有仓库