Docker Buildの間に、プライベートリポジトリからDockerイメージをプルしますか? -- docker フィールド と dockerfile フィールド と docker-registry フィールド と docker-trusted-registry フィールド 関連 問題

Pull docker images from a private repository during docker build?












24
vote

問題

日本語

Docker Hubの代わりに<コード> docker build の間にプライベートレジストリから画像を引っ張る方法はありますか?

私はプライベートレジストリを展開し、DockerFileの FROM 命令で、特定の ip:port の名前を付けて命名することができます。デフォルトレジストリを変更するには、 OptionまたはDocker環境変数を期待していました。

英語

Is there any way of pulling images from a private registry during a docker build instead of docker hub?

I deployed a private registry and I would like to be able to avoid naming its specific ip:port in the Dockerfile's FROM instruction. I was expecting a docker build option or a docker environment variable to change the default registry.

</div
           

回答リスト

12
 
vote
vote
ベストアンサー
 

私は2019年に同じ問題に直面していました。 https://docs.docker.com/エンジン/リファレンス/ビルダー/#理解方法 - arg-and-from interact 引数を使用すると、From Lineで使用できるオプションのパラメータ(デフォルトで)を設定できます。

DockerFile-Project-Dev

<事前> <コード> ARG REPO_LOCATION=privaterepo.company.net/ ARG BASE_VERSION=latest FROM ${REPO_LOCATION}project/base:${BASE_VERSION} ...

私のユースケースは通常プライベートレポから引っ張っていますが、私がドッケルファイルに取り組んでいて、私は自分のマシン上の画像からビルドをすることができます。私のDockerfileで。 Dockerにビルド時に自分のローカルマシンを検索するように指示するために、私はこれを実行するでしょう:

<事前> <コード> docker build -t project/dev:latest -f ./Dockerfile-project-dev --build-arg REPO_LOCATION='' .
 

I was facing the same issue in 2019. I solved this using arguments (ARG).
https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact
Arguments allow you to set optional parameters (with defaults) that can be used in your FROM line.

Dockerfile-project-dev

ARG REPO_LOCATION=privaterepo.company.net/ ARG BASE_VERSION=latest FROM ${REPO_LOCATION}project/base:${BASE_VERSION} ... 

For my use-case I normally want to pull from the private repo, but if I'm working on the Dockerfiles I may want to be able to build from an image on my own machine, without having to modify the FROM line in my Dockerfile. To tell Docker to search my local machine for the image at build time I would do this:

docker build -t project/dev:latest -f ./Dockerfile-project-dev --build-arg REPO_LOCATION='' . 
</div
 
 
19
 
vote

画像名には、レジストリホストのFQDNを含める必要があります。 FROM <some private image> にしたい場合は、<コード> FROM registry_host:5000/foo/bar

として指定する必要があります。

将来的にはこれは要件にならないが、今のところ残念ながらそれはそうです。

 

The image name should include the FQDN of the registry host. So if you want to FROM <some private image> you must specifiy it as FROM registry_host:5000/foo/bar

In the future this won't be a requirement, but unfortunately for now it is.

</div
 
 
   
   
8
 
vote

Dockerの人々は、通常、あなたがあなたの地元に関係なく、 docker pull foo/bar を実行すると(つまり、Docker Hubからの foo/bar の画像)を実行することを確認したいと思います。環境

これは、Dockerが明示的なホスト名/ポートなしで他に何も使用できるオプションがないことを意味します。

 

The docker folks generally want to ensure that if you run docker pull foo/bar you'll get the same thing (i.e., the foo/bar image from Docker Hub) regardless of your local environment.

This means that there are no options available to have Docker use anything else without an explicit hostname/port.

</div
 
 
     
     

関連する質問

0  信頼されたレジストリからDockerイメージをプルしようとしている間に「未知の権限によって署名された証明書」  ( Certificate signed by unknown authority while trying to pull docker image from ) 
Dockerの信頼されたレジストリからドッカーイメージを引っ張りようとしています。私はHTTPS証明書が無効であり、今のところそれを迂回したいことを知っています。 私はにいます <事前> <コード> $ cat /etc/issue Debian GNU/...

0  Difference Docker_Content_Trust vsコンテンツ - 信託  ( Difference docker content trust vs content trust ) 
Dockerの公式文書から理解されているように、環境変数 docker_content_trust とdeamon config content-trust の使用はunsignedタグの使用を防ぎます。署名されていない画像を使用して制限したい場合は、最適...

1  Azure KubernetesサービスでDocker Trusted Registryを使用できますか?  ( Can one use docker trusted registry with azure kubernetes service ) 
Azure Kubernetes Service(AKS)でDocker Trusted Registry(DTR)を使用できるかどうかを知っていますか?またはAzureコンテナレジストリ(ACR)を使用するのに必要な方が必要ですか? ありがとうございます!...

24  Docker Buildの間に、プライベートリポジトリからDockerイメージをプルしますか?  ( Pull docker images from a private repository during docker build ) 
Docker Hubの代わりに<コード> docker build の間にプライベートレジストリから画像を引っ張る方法はありますか? 私はプライベートレジストリを展開し、DockerFileの FROM 命令で、特定の ip:port の名前を付けて命名する...

1  Azureコンテナを使用するには、Azureコンテナレジストリを使用する必要がありますか?  ( Is one required to use azure container registry to make use of azure containers ) 
Azureのコンテナサービスの調査は、Docker Trusted Registryを含むコンテナのオンプレーム実装と比較しています。 Azureコンテナレジストリを使用してAzureコンテナを使用するのに必要なものですか?それとも私達の既存のオンプレーム...

1  Docker Trust:リポジトリにプッシュせずにイメージに署名する方法  ( Docker trust how to sign image without pushing it to repository ) 
私たちはプライベートドッカーレジストリを実行し、そして私は名前を付けて画像署名を追加することを試みています。私は記述されており、Dockerクライアントはレジストリにプッシュされると画像に署名することができます。 私の問題は私たちが引っ張っているのと同じレジ...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有