web-dev-qa-db-ja.com

デフォルトのdockerレジストリをdocker.ioから私のプライベートレジストリに変更するにはどうすればいいですか?

デフォルトでは、私がコマンドを発行した場合:

Sudo docker pull Ruby:2.2.1

デフォルトではdocker.io公式サイトから取得します。

Pulling repository docker.io/library/Ruby

プライベートレジストリに変更するにはどうすればよいですか。私が発行すればそれは意味する

Sudo docker pull Ruby:2.2.1

それは私自身の個人的なレジストリから引き出すでしょう、出力は以下のようなものです:

Pulling repository my_private.registry:port/library/Ruby
91
mainframer

更新:あなたのコメントに続いて、現在デフォルトのレジストリを変更することはできません、詳細については この号 を参照してください。

ホストとポートを自分のものに置き換えて、これを実行できるはずです。

docker pull localhost:5000/registry-demo

サーバーがリモートで認証がある場合は、次のコマンドを使用してサーバーにログインする必要があります。

docker login https://<YOUR-DOMAIN>:8080

それから走っている:

docker pull <YOUR-DOMAIN>:8080/test-image
44
Guy

これはis実際には可能ですが、本物のDocker CEまたはEEバージョンは使用していません。

Red Hatのfork - of - dockerを '--add-registry'フラグと共に使用することも、独自のハードコードされたデフォルトレジストリ名前空間/インデックスを使用するように変更したregistry/config.goを使用してソースから自分でdockerを構築することもできます。

16
Josiah

コミュニティ内で断片化が生じるため、サポートされないようです(つまり、2人のユーザーがubuntu:latestを引いて異なるイメージを取得することになります)。イメージ名の前にホストを追加するだけです。ディスカッションに参加するには、 github issue を参照してください。

(注意、これは意見を述べたコメントとして意図されたものではなく、言及されたgithubの問題で続くことができる議論の非常に短い要約です。)

6
datacarl

fedoraディストリビューションを使用している場合は、ファイルを変更できます。

/etc/containers/registries.conf

ドメインdocker.ioを追加する

5

これはDOCKER_OPTS設定ファイルの/etc/default/dockerを使って達成することができました。これはUbuntu 14:04で動作し、Ubuntu 15:04では 問題 を持ちます。これが修正されたかどうかわからない。

下記の行は、dockerデーモンを実行しているホスト上のファイル/etc/default/dockerに入る必要があります。プライベートレジストリへの変更点は、ローカルネットワークにインストールされています。注意:この変更に続いてdockerサービスを再起動する必要があります。

DOCKER_OPTS="--insecure-registry <priv registry hostname/ip>:<port>"
2
askb

試したことはありませんが、/etc/hostshub.docker.comの行を追加するなどしてDNS解決プロセスを乗っ取ったり、似たようなもの(docker.io?)を使用したりすることはできますか?

0
akavel