問題タブ [docker-registry]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
23694 参照

node.js - docker build + プライベート NPM (+ プライベート docker ハブ)

Docker コンテナーで実行されるアプリケーションがあります。会社のプライベート NPM レジストリ (Sinopia) からいくつかのプライベート モジュールが必要であり、これらにアクセスするにはユーザー認証が必要です。Dockerfile はFROM iojs:latest.

私が試してみました:

1) プロジェクト ルートに .npmrc ファイルを作成しますが、これは実際には違いがなく、npm はそれを無視しているように見えます 2) などに環境変数を使用NPM_CONFIG_REGISTRYNPM_CONFIG_USERますが、ユーザーはログインしません。

基本的に、プロセス内でユーザーを認証する方法がないようですdocker build。誰かがすでにこの問題に遭遇しており (十分に明白な問題のように思えます)、それを解決する良い方法があることを願っていました。

(さらに、サーバーがビルド済みのイメージを含むプライベート Docker レジストリにアクセスできるように、Docker Hub で自動ビルド (プッシュ時にトリガー) を使用しています。)

1) ビルド時に NPM の認証情報を注入する (そのため、Dockerfile に認証情報をコミットする必要はありません) または 2) 考えもしなかった別の方法でこれを実行しますか?

0 投票する
1 に答える
2837 参照

docker - プライベート Docker レジストリにログインできない (v2.0)

標準の docker レジストリ イメージと Docker レジストリ リバース プロキシ ( https://registry.hub.docker.com/u/marvambass/nginx-registry-proxy/ )を使用して、プライベート Docker レジストリをセットアップしようとしています。

目標は、SSL (自己署名 SSL 証明書を使用) とユーザー名/パスワード認証を使用してレジストリを保護することです。ブラウザ経由で次を使用してプライベート docker レジストリに移動しようとすると、これはすべてうまくいくようです:https://<private-docker-reg>:443/v2/ユーザー名とパスワードを入力するように求めるプロンプトが表示され、この場合は正しい出力が得られます{}

しかし、ドッカークライアントを使用してログインしようとすると、ログインできないようです:

この問題を回避するために、/etc/default/dockerファイルを変更し、Docker クライアント ラップトップに次の行を追加しました。

DOCKER_OPTS="$DOCKER_OPTS --insecure-registry <private-docker-reg>:443"

docker デーモンを再起動しましたが、今のところうまくいきません...

この問題を回避するためのヒントやヒントはありますか??

0 投票する
1 に答える
1970 参照

jenkins - 継続的インテグレーション / 継続的デプロイのための Docker イメージのバージョン管理

DockerLinux バイナリ パッケージとイメージという 2 つのよく知られた概念を使用して、継続的インテグレーションと継続的デリバリーのプロセスを実装しています。

作業の大部分はすでに完了しています。GitLabリポジトリからコードを取得し、コンパイルして、にdeb格納されているパッケージに配置しますAptly。次に、所有するすべてのサービスのイメージを作成Dockerし、イメージをプライベートDocker Registryサーバーにプッシュします。その後、これらのイメージはテスト環境にロールバックされます。最後に、サービスを開始し、受け入れテストを実行します。これは継続的なプロセスであり、誰かが にコミットをプッシュするたびに開始されorigin/masterます。

ここに画像の説明を入力

Docker レジストリに保存されている安定したイメージをどのように区別するかはまだ明らかではありません。

安定したサーバーの定期的な更新を実行する必要があるため、すべてのイメージの状態を追跡する必要があります。明らかに一部のリリース (イメージのバージョンなど) は受け入れテストに合格せず、使用不可としてマークし、継続的デリバリーの次の反復ごとに除外する必要があります。

この機能のデフォルトの実装はないようです:

  1. デフォルトの画像repo/tagは、バージョン番号、ビルド日、および QA マークの両方を保持できない単純なプレーン文字列です。
  2. Labels( 1.6で導入) は、回避策の出発点として適している可能性がありますが、既存の画像を再ラベル付けする機会を見つけることができませんでした (QA の結果を考慮して、画像の「メタデータ」を更新する必要があることに注意してください)。ラベル値で画像をクエリする方法はありませんが、おそらく Docker API をラップすることができます。

では、Docker イメージにバージョンを割り当てる適切な方法は何ですか? QA関連の情報はどのように保存できますか? 安定したイメージ ビルドを「強調表示」するにはどうすればよいですか? これらの目的を達成するために、 のどの機能をJenkins CI使用できますか? あなたの経験を共有してください。

UPD:しばらくして、Docker issue tracker でディスカッションを開始する必要がありました。おそらく誰かもそれが便利だと思うでしょう。

0 投票する
3 に答える
6991 参照

docker - v2 を使用する必要がある場合に、docker が v1 レジストリ API を使用している

自己ホスト型の Docker レジストリ v2 を使用しようとしています。レジストリ v2 コンテナーを実行しているホスト サーバー (coreos) でローカルに動作する docker イメージをプッシュできるはずです。ただし、別のマシン (coreos、同じバージョン) でレジストリにプッシュしようとすると、v1 にプッシュしようとすると、次のエラーが発生します。

両方のマシンの docker 実行可能ファイルは v1.6.2 です。一方が機能し、v2 にプッシュしているのに、もう一方が v1 であるのはなぜですか?

レジストリのリポジトリは次のとおりです: https://github.com/docker/distribution

0 投票する
0 に答える
1586 参照

docker - Docker イメージを Docker ハブにプッシュできない

これは、docker ハブにプッシュしようとしているイメージです

やってdocker push smiduthu/has_testます。

画像をプッシュしようとすると、次のエラーが発生します

何が問題ですか ?

0 投票する
3 に答える
24935 参照

docker - docker ビルド中にプライベート リポジトリから docker イメージをプルしますか?

docker builddocker ハブの代わりにプライベート レジストリからイメージをプルする方法はありますか?

ip:portプライベート レジストリをデプロイしましたが、Dockerfile のFROM指示で固有の名前を付けないようにしたいと考えています。docker buildオプションまたは docker 環境変数がデフォルトのレジストリを変更することを期待していました。

0 投票する
2 に答える
5783 参照

docker - gcloud なしで Google Container Registry からプライベート Docker イメージを pull します

shippable を使用してプライベート docker イメージを Google Container Registry にプッシュし、ラップトップのローカルまたは Google Compute Engine のインスタンス内からプルしたいと考えています。

コマンドgcloud preview docker pull gcr.io/projectID/image-nameが機能することはわかっていますが、イメージをプルする必要があるすべてのマシンに gcloud がインストールされているとは限りません。

docker-compose up -d自分のマシンで実行すると、次のエラーが発生します。

何らかの形式の OAuth またはキーを使用してイメージを認証またはアクセスする方法はありますか? イメージをプルする必要があるすべてのマシンに gcloud をインストールする必要はなく、イメージは非公開のままにしておく必要があります。

私は試しgcloud preview docker -aましたが、それは私が探している解決策ではありません。

よろしくお願いします。