デフォルトでは、私がコマンドを発行した場合:
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
更新:あなたのコメントに続いて、現在デフォルトのレジストリを変更することはできません、詳細については この号 を参照してください。
ホストとポートを自分のものに置き換えて、これを実行できるはずです。
docker pull localhost:5000/registry-demo
サーバーがリモートで認証がある場合は、次のコマンドを使用してサーバーにログインする必要があります。
docker login https://<YOUR-DOMAIN>:8080
それから走っている:
docker pull <YOUR-DOMAIN>:8080/test-image
これはis実際には可能ですが、本物のDocker CEまたはEEバージョンは使用していません。
Red Hatのfork - of - dockerを '--add-registry'フラグと共に使用することも、独自のハードコードされたデフォルトレジストリ名前空間/インデックスを使用するように変更したregistry/config.goを使用してソースから自分でdockerを構築することもできます。
コミュニティ内で断片化が生じるため、サポートされないようです(つまり、2人のユーザーがubuntu:latest
を引いて異なるイメージを取得することになります)。イメージ名の前にホストを追加するだけです。ディスカッションに参加するには、 github issue を参照してください。
(注意、これは意見を述べたコメントとして意図されたものではなく、言及されたgithubの問題で続くことができる議論の非常に短い要約です。)
fedoraディストリビューションを使用している場合は、ファイルを変更できます。
/etc/containers/registries.conf
ドメインdocker.ioを追加する
これは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>"
試したことはありませんが、/etc/hosts
にhub.docker.com
の行を追加するなどしてDNS解決プロセスを乗っ取ったり、似たようなもの(docker.io
?)を使用したりすることはできますか?