1. ホーム
  2. ansible

[解決済み] ローカルディレクトリにあるファイルが見つからない、またはアクセスできない

2022-02-10 10:05:10

質問内容

私のプロジェクトで、ローカルディレクトリからリモートディレクトリにコピーしようとすると、エラーが発生します。

のエラーメッセージが表示されます。

fatal: [xxx]: FAILED! => {
"changed": false, "msg": "could not find 
src=/Users/xxx/Desktop/Docker/The_Task/./roles/docker_registry/templates,
Could not find or access 
'/Users/xxx/Desktop/Docker/The_Task/./roles/docker_registry/templates' 
on the Ansible Controller.\n
If you are using a module and expect the file to exist on the remote, see the remote_src option"
}

playbook.yml

- name: Copying required files
  template:
    src: ./roles/docker_registry/templates
    dest: /tmp/docker_registry

そうすれば

cd /Users/xxx/Desktop/Docker/The_Task/./roles/docker_registry/templates

を実行すると、希望するディレクトリに変更されるのですが、ansible側でエラーが発生しているようです。(絶対パスで動かない)

デフォルトのコピーモジュールを使用すると、ほぼ正常に動作します。

- name: copy files [local -> remote]
  copy:
    src: ./roles/docker_registry/templates
    dest: /tmp/docker_registry

どうすれば動くようになりますか?[という質問に対して、「LOCAL -> REMOTEからコピーしています。]


しかし、まだリモートマシンにディレクトリ全体をコピーすることはできません。

どうすればいいですか?

File"のみ解決。


オーケー、誰かが私と同じ問題につまずくことを想定して、これを保管しておくつもりです。 src: はロールを調べています。 templates ファイルにアクセスしていることを教えてくれました。 full path にのみアクセスしています。 templates ファイルを作成し、そこから続けています.

を修正したコードです。

- name: Copying required files
  template:
    src: docker-compose.yml
    dest: /tmp/docker_registry