私はdockerとJenkins2が初めてです。私は専用のDockerリポジトリからDockerイメージをプルしようとしています。
pipeline {
agent{
docker{
image "PrivateRepo/Test"
args "--username testUser --password pass -v /var/jenkins_home/workspace:/home --env "
}
}
stages {
.
.
.
}
}
jenkinsファイルを実行すると、以下のエラーが発生します
Error response from daemon: pull access denied for PrivateRepo/Test, repository does not exist or may require 'docker login'
Dockerクレデンシャルをどこに与えるか、またはリポジトリへのアクセスを提供するにはどうすればよいですか?.
レジストリ「PrivateRepo」には、そこから取得するすべての画像へのログインが必要です。 jenkinsが実行されているマシンにアクセスできる場合は、次のコマンドを実行するだけで実行できます。
docker login PrivateRepo
または、 here で説明されているように、jenkinsから実行できます。
コマンドでnginxイメージをプルしているときに同様の問題に直面しました:
docker run --rm -p 8088:80 ngnix
実際、私は間違った画像名を提供していました、それは間違った画像について報告せず、上記のメッセージを表示しました。したがって、コマンドを使用して画像名を修正した後
docker run --rm -p 8088:80 nginx
この変更後は問題なく動作しました。