ansible作业-- CentOS 7部署docker-ce
一、centos 7基于阿里云的安装docker方法
step1:卸载本机旧的docker
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine
step2: 安装必要的一些系统工具
yum install -y yum-utils device-mapper-persistent-data lvm2
说明:yum-util提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
step3:添加软件源信息
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
step4:更新并安装Docker-ce
yum makecache fast
yum -y install docker-ce
step5: 开启docker服务
systemctl start docker
systemctl enable docker
step6:查验安装是否成功(有client和service两部分表示docker安装启动都成功了)
docker version
二、ansible playbook 安装部署docker-ce
1、创建roles目录
mkdir -p install_docker-ce/{tasks,files,handlers}
2、删除本机旧版docker
vim /etc/ansible/roles/install_docker_ce/tasks/remove_oldder_version-docker.yml
- name: remove oldder_docker
yum:
name: [['docker', 'docker-client', 'docker-client-latest', 'docker-common', 'docker-latest', 'docker-latest-logrotate', 'docker-selinux', 'docker-engine', 'docker-engine-selinux']
state: absent
3、安装系统必需文件
vim /etc/ansible/roles/install_docker_ce/tasks/install_docker-based.yml - name: install docker_based yum: name: [ 'yum-utils', 'device-mapper-persistent-data', 'lvm2'] state: latest
4、添加软件源,更新并安装docker,开启docker服务
vim /etc/ansible/roles/install_docker_ce/tasks/install_docker-ce.yml - name: clean repo yum_repository: name: docker-ce state: absent notify: yum-clean-metadata - name: add repo shell: yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo notify: yum-makecache - name: install docker-ce yum: name: docker-ce state: present - name: config docker repo shell: curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io - name: start and enable docker service: name: docker enabled: yes state: started
5、编写handlers
- name: yum-clean-metadata shell: yum clean metadata - name: yum-makecache shell: yum makecache
6、编写install_docker_ce.yml
- hosts: websrvs
remote_user: root
roles:
- install_docker_ce
7、运行
ansible-playbook install_docker_ce.yml
8、查看是否安装成功
[root@node1 roles]# ansible websrvs -m shell -a 'docker version' 192.168.200.21 | CHANGED | rc=0 >> Client: Docker Engine - Community Version: 20.10.8 API version: 1.41 Go version: go1.16.6 Git commit: 3967b7d Built: Fri Jul 30 19:55:49 2021 OS/Arch: linux/amd64 Context: default Experimental: true Server: Docker Engine - Community Engine: Version: 20.10.8 API version: 1.41 (minimum version 1.12) Go version: go1.16.6 Git commit: 75249d8 Built: Fri Jul 30 19:54:13 2021 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.4.9 GitCommit: e25210fe30a0a703442421b0f60afac609f950a3 runc: Version: 1.0.1 GitCommit: v1.0.1-0-g4144b63 docker-init: Version: 0.19.0 GitCommit: de40ad0
总结:
这次脚本出现最多的问题并非ansible模块相关,而是一些命令单词拼写的错误,和命名时 "-" 和 "_" 不一致导致出现文件找不到的错误,以后需细心谨慎!
浙公网安备 33010602011771号