Dockerイメージをビルドし、現在のビルドディレクトリ(Dockerfileが配置されている場所)の外にあるディレクトリを使用してDockerfileに命令「COPY」を追加したい場合、次のようなものを使用しています:
docker build -f centos6-fresh/Dockerfile -t test/c6-fresh .
ここで、コンテナのプロビジョニングと、ansible を介した Docker イメージの構築を行いたいと考えています。もちろん、シェル、コマンド、または生のモジュールでそれを行うことができますが、Docker 用の特別なモジュールを見ました。
そこで、モジュール「docker_image」を使用しました
- name: Build test image
docker_image:
path: /docker/build_env/test
name: test_build
tag: v0
そして確かに私はエラーを持っています。
どのディレクトリから構築プロセスを開始する必要があるかを設定するオプションはありますか?
UPD これらの操作が必要な場合の例:
ansible を備えた管理ノード (ラップトップ) と、コンテナーを備えた Docker ホストがあります。Ansible dir は git で Docker サーバーにプロビジョニングしています。
通常、Docker ホストのディレクトリ build_env にイメージをビルドします。
[root@docker build_env]# ls -1
ansible
centos6-fresh
centos7-fresh
debian8-fresh
templates
test
したがって、ansibleディレクトリで「git pull」を実行した後、次のようなものを実行します
docker build -f centos6-fresh/Dockerfile -t test/c6-fresh .
Dockerfile の構成:
アンシブルをコピー /etc/ansible
現在、docker は COPY または ADD オプションで「COPY ../ansible」のようなものを使用することを防ぎます。