2017-05-04 16 views
0

DockerイメージからSingularityイメージを作成するときに、ローカルの安全でないプライベートレジストリでDockerイメージを正しく参照するにはどうすればよいですか?以下の結果を得ローカルプライベートドッカーレジストリからSingularityコンテナを作成する

Bootstrap: docker 
Registry: localhost:5000 
From: tensorflow:latest 

%runscript 

    exec /usr/bin/python "[email protected]" 

%post 

    echo "Post install stuffs!" 

Executing Prebootstrap module 
VERBOSE [U=0,P=22966]  message.c:52:init()      : Set messagelevel to: 5 
DEBUG [U=0,P=22966]  get-section.c:66:main()     : Iterating through /proc/mounts 
Executing Bootstrap 'docker' module 
From: tensorflow:latest 
Registry: https://localhost:5000 
library/tensorflow:latest 
scope=repository:library/tensorflow:pull 
URL: https://localhost:5000/v2/library/tensorflow/manifests/latest 
Traceback (most recent call last): 
    File "/usr/lib/x86_64-linux-gnu/singularity/python/cli.py", line 198, in <module> 
    main() 
    File "/usr/lib/x86_64-linux-gnu/singularity/python/cli.py", line 146, in main 
    auth=doauth) 
    File "/usr/lib/x86_64-linux-gnu/singularity/python/docker/api.py", line 156, in get_manifest 
    response = api_get(base,headers=token,default_header=True) 
    File "/usr/lib/x86_64-linux-gnu/singularity/python/utils.py", line 139, in api_get 
    response = urllib2.urlopen(request) 
    File "/usr/lib/python2.7/urllib2.py", line 154, in urlopen 
    return opener.open(url, data, timeout) 
    File "/usr/lib/python2.7/urllib2.py", line 429, in open 
    response = self._open(req, data) 
    File "/usr/lib/python2.7/urllib2.py", line 447, in _open 
    '_open', req) 
    File "/usr/lib/python2.7/urllib2.py", line 407, in _call_chain 
    result = func(*args) 
    File "/usr/lib/python2.7/urllib2.py", line 1241, in https_open 
    context=self._context) 
    File "/usr/lib/python2.7/urllib2.py", line 1198, in do_open 
    raise URLError(err) 
urllib2.URLError: <urlopen error [SSL: UNKNOWN_PROTOCOL] unknown protocol (_ssl.c:661)> 
Executing Postbootstrap module 
ERROR: Container does not contain the valid minimum requirement of /bin/sh 
DEBUG [U=0,P=22936]  fork.c:52:handle_sigchld()     : Checking child pids: 22941 22941 

特異点がプライベートレジストリ上のHTTPSについての仮定をしている特異点2.2.1を使用して

は、specファイルを使用しようとしました。

ありがとう、 埠頭。

P.S.私は十分な評判ポイントを持っていないので、 "Singularity"というタグを作成することはできませんでしたが、この投稿には意味があります。自分の質問への答えで

答えて

0

- それは、私は2つのことを行う必要があることが判明:

  • 明示的にHTTPを追加://ローカルレジストリURL
  • にしてドッカーイメージ名を接頭辞「/ /ライブラリ/ "

例のspecファイル「それは前に付加されませんように":

Bootstrap: docker 
Registry: http://localhost:5000 
From: /tensorflow:latest 

%runscript 

    exec /usr/bin/python "[email protected]" 

%post 

    echo "Post install stuffs!" 
関連する問題