ansible 部署基于centos7+docker+nginx+openssl+v2版私有仓库
- name: cpdocker.repo clienttemplate: 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]