2017-10-25 4 views
0

プロキシの背後にあり、私はDockerイメージを構築できません。yum update/apk update/apt-get updateがプロキシの背後で動作しない

私はFROM ubuntuFROM centosFROM alpineてみましたが、apt-get update/yum update/apk updateに失敗しました。

私のホストOSはWindows 10ですので、Docker設定をプロキシを使用するように設定しました。

そして、私はまた私のDockerfileが、無成功に

ENV http_proxy http://<PROXY> 
ENV https_proxy http://<PROXY> 

を追加しました。

また、プロキシをhttp://<USER>:<PASS>@<PROXY>に設定しようとしましたが、やはり成功しませんでした。

Dockerの画像を取得できます。プロキシ設定をに設定した場合、プロキシーはありません、私はイメージをプルできませんので、プロキシURLが正しいと思います。

他に何ができるのですか?

編集:

私はまた、ドッカー設定に(ipconfig /allの下に表示されます)、当社のDNSサーバーを追加しようとしましたないが、やはり何も成功。

EDIT2: 私はちょうど私が忘れ実現 "にhttp://" 私のUbuntu Dockerfile以内。これを追加した後、docker buildはubuntuではうまく動作しますが、のみubuntuの場合はとなります。 centosalpineではまだ動作しません。

のUbuntu:

FROM ubuntu 

ENV http_proxy "http://<MY-PROXY>" 
ENV https_proxy "http://<MY-PROXY>" 

RUN apt-get update 

のCentOS:

FROM centos 

ENV http_proxy "http://<MY-PROXY>" 
ENV https_proxy "http://<MY-PROXY>" 

RUN yum update 

アルパイン:ここ

はすべて私の3 Dockerfilesある

FROM alpine 

ENV http_proxy "http://<MY-PROXY>" 
ENV https_proxy "http://<MY-PROXY>" 

RUN apk update 

エラーメッセージ:

CentOSの

Step 4/4 : RUN yum update 
---> Running in 3deecb71823d 
Loaded plugins: fastestmirror, ovl 

One of the configured repositories failed (Unknown), 
and yum doesn't have enough cached data to continue. At this point the only 
safe thing yum can do is fail. There are a few ways to work "fix" this: 

[...] 

Cannot find a valid baseurl for repo: base/7/x86_64 

アルパイン:あなたは後ENV http_proxy指示を

Step 4/4 : RUN apk update 
---> Running in 76c8579734cf 
fetch http://dl-cdn.alpinelinux.org/alpine/v3.6/main/x86_64/APKINDEX.tar.gz 
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.6/main: could not connect to server (check repositories file) 
WARNING: Ignoring APKINDEX.84815163.tar.gz: No such file or directory 
fetch http://dl-cdn.alpinelinux.org/alpine/v3.6/community/x86_64/APKINDEX.tar.gz 
2 errors; 11 distinct packages available 
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.6/community: could not connect to server (check repositories file) 
WARNING: Ignoring APKINDEX.24d64ab1.tar.gz: No such file or directory 
The command '/bin/sh -c apk update' returned a non-zero code: 2 

答えて

0

を設定しました命令ですか?

の前に設定してください。が使用されています。ドッカーがドッカーファイルの上から下に画像を作成するため、使用しています。

+0

いいえ、 'RUN'命令の前に' ENV' *を設定しました。 – Munchkin

+0

'apt-get'コマンドだけのためにプロキシを設定しようとしてください:' RUN http_proxy = $ http_proxy apt-get update'。 "$ http_proxy"は[定義済みビルド引数](https://docs.docker)であるため、$ http_proxyをプロキシに置き換えるか、 'docker build -t yourtag --build-arg http_proxy = yourproxy' .com/engine/reference/builder /#using-arg-variables)を参照してください。 – samprog

+0

まだ成功していません。 – Munchkin

0

CentOSの場合、私は明示的に私のプロキシポート80を入力してhttp:// -partを削除する必要がありました。 だから、(プロキシがポート80上で実行されている場合)のCentOS、作業溶液は次のようになりますため:アルパインはまだ不足している

FROM centos 

ENV http_proxy=<My-PROXY>:80 
ENV https_proxy=<My-PROXY>:80 

RUN yum update 

、それは追加の行が必要です以下のようになります。

ENV HTTP_PROXY_AUTH=basic:*:<USER>:<PASS> 

をしかしあります私のために働いていない。パスワードの中に特別な文字が含まれている可能性があります。https://github.com/gliderlabs/docker-alpine/issues/305

解決策が見つかると、この回答が更新されます。

関連する問題