2016-12-06 3 views
0

ローカルレジストリでドッキング画像をプッシュすると問題が発生します。 ローカルレジストリがあります(例:some.registry.com)。plinkから呼び出された.shスクリプトによるローカルレジストリへのプッシュドッカー画像の表示 - 基本認証情報なし

#!/bin/bash 
# some commands 
# build image 
# tag image 
docker push some.registry.com/my/imagename 

私は現在のシステムからそれを実行した場合、このスクリプトは正常に動作しますが(私はUbuntuの16.04で実行する):: 私のスクリプトは、(build.sh)のように見えます

sudo ./build.sh 

しかし、私は、このスクリプトを起動する必要がありますWindowsマシン上の別のスクリプトから。 私はこのスクリプトは、(other_script.bat)のように見えるこのplink のために使用します。build.shのすべてのコマンドが正常に動作している

REM do something 
call D:\install\plink.exe -ssh -v -t [email protected] -pw PASS "sudo -S <<< 'PASS' /home/user/scr/build.sh" 

(画像を構築し、タグの画像e.t.c)。しかし、docker pushが呼び出されたときに私はメッセージを受け取りますno basic auth credentials

誰かに何か提案がありますか?

答えて

0

資格情報をコンピュータのローカルファイルに保存しようとしましたか? Cの下json.configファイルを作成します。$ HOME/.docker/config.jsonで\ Users \ユーザー.dockerまたはLinux上で、そのファイルに

{ 
     "auths": { 
       "your.registry.com": { 
         "auth": "aGVja2VhOiFoZWNrb25vXXXX" 
       } 
     } 
} 

注意以下の内容をコピーしているユーザー名とパスワードIST認証文字列BASE64でエンコードされます。レジストリにログインしているランダムなLinuxドッカーホストがある場合は、json.configファイル全体をホームディレクトリから取得することもできます。

サイドノート:io.fabricドッカープラグインでも同様の問題があり、上記の手順で解決しました。

+0

あなたの答えに感謝します。しかし、私は十分にあなたを理解していないかもしれません。私はWindowsマシン上にドッカーを持っていません。クレジットストアを使用する必要がありますか?しかし私は私の問題を解決すると思います。私はスクリプト( 'build.sh')を追加してからイメージドッカーログインコマンドを追加しました: ' docker login -u user -p pass https://reg.com ドッカープッシュ... ' – arthas

+0

こんにちは、ドッカーログインそれにもかかわらずホストはオプションです。私はあなたが信任状を持っているパブリックまたはプライベートのリポジトリにログインできるようなものを意味しました。ログインすると、Linuxの場合は$ HOME/.docker/config.json、Windowsの場合は%USERPROFILE%/。docker/config.jsonにエンコードされた資格情報が保存されます。 – hecko84

関連する問題