簡體   English   中英

將Ansible Playbook復制文件到Docker容器

[英]ansible playbook copy file to docker container

我想使用Ansible Playbook將文件復制到Docker容器。 我怎樣才能做到這一點 ?

- name: kapacitor conf
  template: src=/home/debian/roles/tick_install/files/kapacitor.conf  dest=/etc/kapacitor/kapaci
my docker container = tick_kapacitor

我假設您使用的是不帶協調解決方案(例如Kubernetes或Swarm)的普通Docker容器。 如果您的容器已經在運行,則取決於:

不安裝音量

如果要將文件復制到沒有要在其中復制文件的卷的現有容器中,則只能通過shellcommand運行docker cp command ,例如:

- name: Copy file into existing container at /path/in/the/container/kapaci
  shell: docker cp /etc/kapacitor/kapaci tick_kapacitor:/path/in/the/container/kapaci

裝在容器中的容器中

如果您已經有從計算機裝入容器的卷,則可以直接在計算機裝入點復制文件。 例如,如果容器具有從/var/myapp/data裝載到/path/in/the/container ,則可以使用template將文件直接以其裝載的卷復制到容器中:

name: kapacitor conf 
template: 
  src: /home/debian/roles/tick_install/files/kapacitor.conf
  dest: /var/myapp/data/kapacitor.conf
  # will be available in container at /path/in/the/container

運行一個新的容器

如果你想獲得亞軍新的容器,你可以使用docker_container模塊或運行命令( docker rundocker-compose up... ...),這將運行容器中,然后將該文件復制到使用的一個是前面提到的解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM