docker build
docker ハブの代わりにプライベート レジストリからイメージをプルする方法はありますか?
ip:port
プライベート レジストリをデプロイしましたが、Dockerfile のFROM
指示で固有の名前を付けないようにしたいと考えています。docker build
オプションまたは docker 環境変数がデフォルトのレジストリを変更することを期待していました。
docker build
docker ハブの代わりにプライベート レジストリからイメージをプルする方法はありますか?
ip:port
プライベート レジストリをデプロイしましたが、Dockerfile のFROM
指示で固有の名前を付けないようにしたいと考えています。docker build
オプションまたは docker 環境変数がデフォルトのレジストリを変更することを期待していました。
私は2019年に同じ問題に直面していました。引数(ARG)を使用してこれを解決しました。
https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact
引数を使用すると、FROM 行で使用できるオプションのパラメーターを (デフォルトで) 設定できます。
Dockerfile-プロジェクト-dev
ARG REPO_LOCATION=privaterepo.company.net/
ARG BASE_VERSION=latest
FROM ${REPO_LOCATION}project/base:${BASE_VERSION}
...
私のユースケースでは、通常はプライベート リポジトリからプルしたいと考えていますが、Dockerfile で作業している場合は、Dockerfile の FROM 行を変更することなく、自分のマシン上のイメージからビルドできるようにしたい場合があります。 . ビルド時にローカル マシンでイメージを検索するように Docker に指示するには、次のようにします。
docker build -t project/dev:latest -f ./Dockerfile-project-dev --build-arg REPO_LOCATION='' .
docker 関係者は一般的に、ローカル環境に関係なく、実行docker pull foo/bar
すると同じもの (つまり、foo/bar
Docker Hub からのイメージ) が得られることを確認したいと考えています。
これは、明示的なホスト名/ポートなしで Docker に他のものを使用させるオプションがないことを意味します。