DockerでLaravel 4.2を使用しています。ローカルでセットアップしました。問題なく動作しましたが、同じ手順を使用してオンラインでセットアップしようとするとエラーが発生します
/ phpのプルアクセスが拒否されました。リポジトリが存在しないか、「Dockerログイン」が必要な場合があります
ここでリポジトリを作成することは関連性がありますか https://cloud.docker.com/ またはコマンドでdocker loginする必要がありますか?
数日間の研究の後、私はまだこの場合の修正とは何か、正しい手順は何かを理解することができませんか?
完全なコードがあります。特定の部品を確認する必要がある場合は、ここに貼り付けることができます。
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 に画像が存在しないことに気付きました。これが誰かの役に立つことを願っています。
同じ問題がありました。私の場合、それはプライベートレジストリでした。そのため、次のように秘密を作成する必要がありました 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
リポジトリがプライベートの場合、ダウンロードする権限を割り当てる必要があります。 docker loginコマンドには2つのオプションがあります。または、ログイン後に生成されたファイルを〜/ .docker/docker.configに入れます。
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
それはすべて大丈夫だった。
Dockerが認証データを失った可能性があります。そのため、レジストリプロバイダーで再認証する必要があります。たとえばAWSの場合:
aws ecr get-login --region us-west-2 --no-include-email
そして、その結果の「docker login ...」をコピーして、認証されたdockerに貼り付けます。
独自のレジストリまたはdocker-hub以外の場所からダウンロードする場合は、Oracleのdockerレジストリの場合のように、サイト上で別途条件の合意が必要になる場合があります。 Dockerログインは正常に行えますが、コンテナにアクセスしても、サイトにアクセスして条件に同意するまで機能しません。