Ansible 文件&拷贝模块
2018-04-03 by dongnan
目标
使用 ansible
拷贝 docker
私有HUB仓库认证信息文件,到 Docker
主机。
要点
ansible-playbook 配置文件
- 使用
file
模块,进行定义文件属性。 - 使用
copy
模块,进行文件(夹)拷贝。 .docker/config.json
文件是使用docker login your_docker_registry
命令生成的认证信息文件,文件权限600
。
环境
- 操作系统
head -n1 /etc/issue
CentOS release 6.9 (Final)
- 主机信息
管理节点: 10.0.1.1
托管节点: 10.0.1.2
- SSH 认证
已经配置
SSH KEY
方式登录,方法参考这里 。 Ansible 会默认假定你使用SSH Key
(推荐)但是密码也一样可以, 通过在需要的地方添加--ask-pass
选项来启用密码验证,如果使用了sudo
特性,当sudo
需要密码时,也同样适当的提供了--ask-sudo-pass
选项。
拷贝目录
cat copy_file.yml
---
- hosts: docker
tasks:
- name: copy file
copy:
src: "/root/.docker"
dest: "/root/"
owner: root
group: root
directory_mode: 0700
- name: set attribute
file:
path: /root/.docker/config.json
owner: root
group: root
mode: 0600
执行 playbook
ansible-playbook copy_file.yml
# ...省略
如果使用命令行方式,注意 .docker
后没有 “/”,否则会复制目录下的文件。
ansible -v all -m copy -a "src=/root/.docker dest=/root/"