2016-07-16 3 views
1

オープンシフトには新しく基本的なセットアップを試しています。私はドッカーとopenshiftが私のウインドウズラップトップ内の私のUbuntu VMにインストールされています。ドッカーを単独で使用したり、ローカルレジストリからプッシュしたり引っ張ったりすることに問題はありません。オープンシフトの起点でoc new-appコマンドを使用する際に問題があります。オープンソースのローカルドッカーレジストリー

私は私のVMに

docker ps 
CONTAINER ID  IMAGE    COMMAND     CREATED    STATUS    PORTS           NAMES 
26d3a527398d  registry:2   "/bin/registry serve " 16 minutes ago  Up 16 minutes  0.0.0.0:443->443/tcp, 0.0.0.0:5000->5000/tcp registry 

を実行しているローカルレジストリを持っていると私は私がopenshiftでこのイメージを使用しようとすると、このレジストリ

docker images myregistry.com:5000/ubuntu 
REPOSITORY     TAG     IMAGE ID   CREATED    SIZE 
myregistry.com:5000/ubuntu latest    cf62323fa025  7 days ago   125 MB 

にイメージをプッシュしている下記取得していますエラー

./oc new-app --docker-image=myregistry.com:5000/ubuntu 
error: can't look up Docker image "myregistry.com:5000/ubuntu": Internal error occurred: Get https://myregistry.com:5000/v2/: http: server gave HTTP response to HTTPS client 
error: no match for "myregistry.com:5000/ubuntu" 

The 'oc new-app' command will match arguments to the following types: 

    1. Images tagged into image streams in the current project or the 'openshift' project 
    - if you don't specify a tag, we'll add ':latest' 
    2. Images in the Docker Hub, on remote registries, or on the local Docker engine 
    3. Templates in the current project or the 'openshift' project 
    4. Git repository URLs or local paths that point to Git repositories 

--allow-missing-images can be used to point to an image that does not exist yet. 

See 'oc new-app -h' for examples. 

これは私のDNS解決と関係がありますか?どのように私は​​に私のopenshift起源

+0

としてホスト名で実行しているサーバーは、 'OpenShiftが実行されているVMの内部から解決myregistry.com'''ですか? –

+0

OpenShiftはどのようにインストールしましたか? (ドッキング・コンテナで実行していますか?)高度なインストールにはRHELまたはCentOSが必要です。 – lvthillo

答えて

1

コード内で私のローカルレジストリを使用することができます言及:

case strings.Contains(secError.Error(), "tls: oversized record received"), 
    strings.Contains(secError.Error(), "server gave HTTP response to HTTPS"): 
      r.Debug("DP1015", "docker-registry not secured; falling back to cleartext connection") 

Issue 6516は言及:あなたのレジストリが認証を必要と

場合、それが問題です。 new-appは、認証が必要なレジストリ(これには既存の問題があります)からイメージを引き出すことはできません。それは、レジストリにイメージが存在しないということです。

Issue 6540(OC 1.1.1)は、この問題を解決することになっている:

new-appは(新しいアプリは、レジストリにアクセスできないため)ローカルでのみ存在するように見える画像を使用することができます。その画像への参照を伴う予想されるオープンシフトオブジェクト(deploymentconfigなど)を定義します。
ノードがイメージをプルできない場合でも、展開は最終的には失敗します。 (ただしnew-appとは異なり、nodesは安全なレジストリから画像を引っ張っすることができます)


OP Raghavanin the commentsは "How to Setup a DNS Server for a Home Lab on Ubuntu 14.04"

とセットアップDNSを持っ報告私はDNSとで--insecure-registryオプションを追加しました/etc/default/dockerとしてファイル

DOCKER_OPTS=--dns 10.0.3.1 --insecure-registry ns1.myregistry.com:5000 

ここ10.0.3.1は私のDNSサーバーだったともドッキングウィンドウのレジストリがns1.myregistry.com

+0

入力していただきありがとうございます。問題は私のDNS解決にありました。 – Raghavan

+0

@RaghavanどのようにDNS解決を解決しましたか? – VonC

+0

私はこのリンクを使ってDNSサーバを立ち上げました - http://frankhinek.com/how-to-setup-a-dns-server-for-a-home-lab-on-ubuntu-14-04/ DOCKER_OPTS = - dns 10.0.3.1 --insecure-registry ns1.myregistry.com:5000 "という名前の/ etc/default/dockerファイルのDNSと--insecure-registryオプション。ここでは10.0.3.1が私のDNSサーバであり、サーバードッカーのレジストリがns1.myregistry.comとしてホスト名で実行されているサーバー – Raghavan

関連する問題