1. 创建ssh密钥并发放到远程机子上
ssh-keygen #生成密钥,默认回车即可
ssh-copy-id root@192.168.35.14 #拷贝密钥至主机

2. 写容器剧本
vim docker.yml
---
- hosts: gyh4
remote_user: root
tasks:
- name: 挂载光盘
shell:
cmd:
mount /dev/sr0 /media/
- name: 配置阿里yum
get_url:
url: http://mirrors.aliyun.com/repo/Centos-7.repo
dest: /etc/yum.repos.d/
- name: 切换镜像源
get_url:
url: https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
dest: /etc/yum.repos.d/
- name: 安装特定版本的docker-ce
yum:
name: docker-ce-18.06.3.ce-3.el7
state: present
- name: 添加配置文件
file:
path: /etc/docker/
state: directory
- name: 添加配置文件
file:
path: /etc/docker/daemon.json
state: touch
- name: 修改daemon配置
lineinfile:
dest: /etc/docker/daemon.json
line:
'{"exec-opts": ["native.cgroupdriver=systemd"],"registry-mirrors": ["https://kn0t2bca.mirror.aliyuncs.com"]}'
- name: 启动docker
service:
name: docker
enabled: yes
state: started
...
3.执行剧本
ansible-playbook docker.yml

4.测试
在远程主机输入
docker ps

大成功!!!
本文介绍了如何通过SSH密钥管理创建并分发到远程主机,然后使用Ansible编写并执行一个容器剧本,包括配置阿里云镜像源,安装特定版本的Docker,以及设置daemon.json以优化镜像访问。最后验证Docker服务是否成功启动。

672

被折叠的 条评论
为什么被折叠?



