0

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」のようなものを使用することを防ぎます。

4

1 に答える 1

1

docker_image documentationによると、コマンド ライン オプションdockerfileに完全に類似したオプションがあります。-fしたがって、必要なのは次のとおりです。

- name: Build test image
  docker_image:
    path: /docker/build_env/
    name: test_build
    tag: v0
    dockerfile: centos6-fresh/Dockerfile
于 2016-10-27T13:12:41.807 に答える