Dockerfileに名前を付ける方法がわかりません。GitHubの多くDockerfileはファイル拡張子なしで使用します。名前と拡張子を付けますか?もしそうなら?それとも私はそれらを呼び出すだけDockerfileですか?
Dockerfileに名前を付ける方法がわかりません。GitHubの多くDockerfileはファイル拡張子なしで使用します。名前と拡張子を付けますか?もしそうなら?それとも私はそれらを呼び出すだけDockerfileですか?
回答:
hub.docker.comでオートビルダーを使用する場合は、dockerfileの名前を変更しないでください。Dockerファイルには拡張子を使用せず、ヌルのままにします。ファイル名は次のようにする必要があります:(まったく拡張子なし)
Dockerfile
ただし、以下のようにすることもできます...
dev.Dockerfile、uat.Dockerfile、prod.Dockerfileなど
VS Codeでは使用でき<purpose>.Dockerfile、それに応じて機能します。
Dockerfile(拡張子なし)を含むコンテナーごとのディレクトリが必要です。例えば:
/db/Dockerfile
/web/Dockerfile
/api/Dockerfile
ビルドするときにディレクトリ名だけを使用すると、DockerはDockerfileを見つけます。例えば:
docker build -f ./db .
hub.docker.comでオートビルダーを使用する場合は、にする必要があります Dockerfile。だからそこに:)
これは本当のようですが、個人的にはデザインが悪いようです。確かに、デフォルトの名前(拡張子付き)がありますが、他の名前を許可し、コマンドのdockerファイルの名前を指定する方法があります。
拡張機能を使用すると、アプリケーションをその拡張機能の種類に関連付けることができるので便利です。MacOSXでDockerfileをクリックすると、それはUnix実行可能ファイルとして扱われ、実行されます。
Dockerファイルに拡張子が付いている場合、テキストエディターアプリケーションなどの特定のアプリケーションでそれらを起動するようにOSに指示できます。よくわかりませんが、現在の動作はファイルのアクセス許可に関連している可能性もあります。
同じディレクトリに2つのDockerfileを作成しました。
# vi one.Dockerfile
# vi two.Dockerfile
両方のDockerfileをビルドするには、
# docker build . -f one.Dockerfile
# docker build . -f two.Dockerfile
注:現在の作業ディレクトリにいる必要があります。
名前と拡張子を付けますか?もしそうなら?
Dockerfileには任意の名前を付けることができます。デフォルトのファイル名はDockerfile(拡張子なし)であり、デフォルトを使用すると、コンテナーでの作業中にさまざまなタスクを簡単に実行できます。
特定の要件に応じて、ファイル名を変更できます。たとえば、複数のアーキテクチャ用にビルドしている場合、resin.ioチームがHAProxyコンテナに対してマルチコンテナARMの例を実行したときに、アーキテクチャを示す拡張機能を追加できます。
Dockerfile.aarch64
Dockerfile.amd64
Dockerfile.armhf
Dockerfile.armv7hf
Dockerfile.i386
Dockerfile.i386-nlp
Dockerfile.rpi
提供されている例では、各Dockerfileは異なるアーキテクチャ固有のアップストリームイメージからビルドされます。ビルドに使用する特定のDockerfile は、コマンドラインを使用してコンテナーをビルドするときに--file, -fオプションを使用して指定できます。
DockerfileDockerファイルが1つ(ディレクトリごと)しかない場合に適しています。同じディレクトリに複数のdockerファイルが必要な場合は、必要な標準を使用できます-正当な理由がある場合。最近のプロジェクトでは、環境が十分に異なるため、AWS dockerファイルとローカル開発環境ファイルがありました。
Dockerfile
Dockerfile.aws
Dockerfile.armv7hf隣にを配置しDockerfile.i386ます。