web-dev-qa-db-ja.com

プルアクセス拒否リポジトリが存在しないか、Dockerログインが必要になる場合があります

DockerでLaravel 4.2を使用しています。ローカルでセットアップしました。問題なく動作しましたが、同じ手順を使用してオンラインでセットアップしようとするとエラーが発生します

/ phpのプルアクセスが拒否されました。リポジトリが存在しないか、「Dockerログイン」が必要な場合があります

ここでリポジトリを作成することは関連性がありますか https://cloud.docker.com/ またはコマンドでdocker loginする必要がありますか?

数日間の研究の後、私はまだこの場合の修正とは何か、正しい手順は何かを理解することができませんか?

完全なコードがあります。特定の部品を確認する必要がある場合は、ここに貼り付けることができます。

18
Jass

Dockerからのエラーメッセージは誤解を招くものであることに注意してください。

$ docker build deploy/.
Sending build context to Docker daemon  5.632kB
Step 1/16 : FROM rhel7:latest
pull access denied for rhel7, repository does not exist or may require 'docker login'

と言うmay 'docker login'が必要かもしれません。私はこれに苦労しました。 https://hub.docker.com に画像が存在しないことに気付きました。これが誰かの役に立つことを願っています。

15
Daniel Nelson

同じ問題がありました。私の場合、それはプライベートレジストリでした。そのため、次のように秘密を作成する必要がありました here

次に、次に示すように、イメージプルシークレットをdeployment.yamlファイルに追加する必要があります。

pods/private-reg-pod.yaml  
apiVersion: v1
kind: Pod
metadata:
  name: private-reg
spec:
  containers:
  - name: private-reg-container
    image: <your-private-image>
  imagePullSecrets:
  - name: regcred
3
free_style

リポジトリがプライベートの場合、ダウンロードする権限を割り当てる必要があります。 docker loginコマンドには2つのオプションがあります。または、ログイン後に生成されたファイルを〜/ .docker/docker.configに入れます。

1

Docker-composerを使用するときに同じ問題が発生しました。私の場合、それはAmazon AWS ECRプライベートレジストリでした。 docker-composeのバグのようです

https://github.com/docker/compose/issues/1622#issuecomment-162988389

完全なパス「myrepo/myimage」をdocker compose yamlに追加した後

イメージ:xxxxxxxxx.dkr.ecr.us-east-1.amazonaws.com/myrepo:myimage

それはすべて大丈夫だった。

0
Stefan Matei

Dockerが認証データを失った可能性があります。そのため、レジストリプロバイダーで再認証する必要があります。たとえばAWSの場合:

aws ecr get-login --region us-west-2 --no-include-email

そして、その結果の「docker login ...」をコピーして、認証されたdockerに貼り付けます。

ソース: Amazon ECR Registeries

0
iAmcR

独自のレジストリまたはdocker-hub以外の場所からダウンロードする場合は、Oracleのdockerレジストリの場合のように、サイト上で別途条件の合意が必要になる場合があります。 Dockerログインは正常に行えますが、コンテナにアクセスしても、サイトにアクセスして条件に同意するまで機能しません。

0
J-ho