Dockerコンテナがカールできない、SSLのバージョン番号が間違っている

アリストトル

Linux Mint Sylviaを使用して会社のプロキシの背後で開発しています(DockerはUbuntu 16.04.3 Xenialソースを介してインストールされました)。

$ docker -v
Docker version 17.12.1-ce, build 7390fc6

これらの手順に従って、Dockerプルを介して実際にいくつかの画像をダウンロードしました。

私のhttp-proxy.conf:

$ cat /etc/systemd/system/docker.service.d/http-proxy.conf 
[Service]
Environment="HTTP_PROXY=http://my_user:my_pass@company_proxy:3128/"
Environment="HTTPS_PROXY=https://my_user:my_pass@company_proxy:3128/"
Environment="NO_PROXY=localhost,127.0.0.0/8"

私の/etc/default/docker

# If you need Docker to use an HTTP proxy, it can also be specified here.
#export http_proxy="http://127.0.0.1:3128/"
export http_proxy="http://my_user:my_pass@company_proxy:3128"
export https_proxy="https://my_user:my_pass@company_proxy:3128"
export HTTP_PROXY="http://my_user:my_pass@company_proxy:3128"
export HTTPS_PROXY="https://my_user:my_pass@company_proxy:3128"

curl多段アルパインコンテナ内で実行する必要があります。簡単にするために、私が達成しようとしているものと同様で、同じエラーが発生するこの単純なイメージを作成しました。

FROM alpine:3.7

ENV HTTP_PROXY http://my_user:my_pass@company_proxy:3128
ENV HTTPS_PROXY https://my_user:my_pass@company_proxy:3128

RUN apk add --no-cache curl

CMD ["curl","-v","--tlsv1","https://www.docker.io/"]

で構築

$ docker build --network host --rm -t test/alpine:curl .

なしで実行してい--network hostます。

$ docker run --rm test/alpine:curl                      
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0* Could not resolve proxy: company_proxy
* Closing connection 0
curl: (5) Could not resolve proxy: company_proxy

で実行してい--network hostます。

$ docker run --network host --rm test/alpine:curl
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0*   Trying 10.2.255.0...
* TCP_NODELAY set
* Connected to company_proxy (10.2.255.0) port 3128 (#0)
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: none
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
} [233 bytes data]
* error:1400410B:SSL routines:CONNECT_CR_SRVR_HELLO:wrong version number
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
* Closing connection 0
curl: (35) error:1400410B:SSL routines:CONNECT_CR_SRVR_HELLO:wrong version number

私はDockerの初心者で、このイメージを2つのwifiネットワーク(両方ともプロキシなし)でテストしましたが、コンテナーは正常に実行されました。このSSLエラーの原因についてのヒントはありますか?


編集:これは私の元々の問題です。Firebaseから何かをカールするためにgoコードを実行するマルチステージDockerイメージがあります。

// main.go
package main

import (
    "os/exec"
    "os"
    "log"
)

func main() {
    c := exec.Command("curl","--tlsv1","-kv","-X","PATCH","-d",`{"something" : "something"}`, `https://<firebase-link>`);

    c.Stdout = os.Stdout
    c.Stderr = os.Stderr
    err := c.Run()
    checkerr(err)
}


func checkerr(err error) {
    if err != nil{
        log.Fatal(err.Error())
        panic(err)
    }
}

元のDockerfile:

# This image only builds the go binaries
FROM golang:1.10-alpine as goalpine-image

ENV HTTP_PROXY http://my_user:my_pass@company_proxy:3128
ENV HTTPS_PROXY https://my_user:my_pass@company_proxy:3128
ENV FULL_PATH /go/src/<project-name>

WORKDIR $FULL_PATH

# Add the source code:

ADD . $FULL_PATH

# Build it:
RUN cd $FULL_PATH \
    && CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o bin/<project-name>

# This image holds the binaries from the previous

FROM alpine

RUN apk add --no-cache bash curl\
    && mkdir build

ENV WORD_DIR=/build

WORKDIR WORK_DIR

COPY --from=goalpine-image /go/src/<project-name>/bin ./

CMD ["./<project-name>"]
アリストトル

元の問題に関する詳細情報が含まれるように質問を編集しましたが、奇妙なことに、おもちゃの画像に問題が残っています。ですから、誰かがこの問題を再び抱えた場合、これが私にとって解決したことです。

マルチステージDockerfile。両方のステージがプロキシ環境にアクセスできる必要があるようです。

# This image only builds the go binaries
FROM golang:1.10-alpine as goalpine-image

ARG http_proxy
ARG https_proxy

ENV HTTP_PROXY $http_proxy
ENV HTTPS_PROXY $https_proxy

# Build envs
ENV FULL_PATH /go/src/<project-name>

WORKDIR $FULL_PATH

# Add the source code:

ADD . $FULL_PATH

# Build it:
RUN cd $FULL_PATH \
    && apk update \
    && apk add --no-cache curl \
    && CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o bin/<project-name>

# This image holds the binaries from the previous

FROM alpine:3.7

ENV HTTP_PROXY $http_proxy
ENV HTTPS_PROXY $https_proxy

RUN apk update \
    && apk add --no-cache bash curl\
    && mkdir build

ENV WORD_DIR=/build

WORKDIR WORK_DIR

COPY --from=goalpine-image /go/src/<project-name>/bin ./

CMD ["./<project-name>"]

建物:

必ず設定http_proxyhttps_proxyください/etc/profile環境変数として、私のものはにあります。

docker build --rm --build-arg http_proxy=$http_proxy --build-arg https_proxy=$https_proxy --network host -t <project-name>:multi-stage .

ランニング:

docker container run --rm --network host <project-name>:multi-stage

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Mosquittoセキュリティエラー:OpenSSLエラー:ルーチン:SSL3_GET_RECORD:バージョン番号が間違っています

分類Dev

IPA アーカイブ内のバージョン番号が間違っています

分類Dev

カーネルバージョンがDockerコンテナのUbuntuバージョンと一致しないのはなぜですか?

分類Dev

カーネルバージョンがDockerコンテナのUbuntuバージョンと一致しないのはなぜですか?

分類Dev

AnsibleHTTPS接続のSSLバージョンが間違っています

分類Dev

Google Charts:スクロールコンテナ内でツールチップの位置が間違っている

分類Dev

java.lang.UnsupportedClassVersionError:.classファイルのバージョン番号が間違っていますか?

分類Dev

Azure-MLデプロイメントでAzureML環境が認識されない(バージョン番号が間違っている)

分類Dev

「nuget.exe復元ソリューション」を使用する場合のpackagesフォルダーのバージョン番号が間違っています

分類Dev

アナコンダが間違ったCUDAバージョンを読んでいる

分類Dev

VisualStudioコードのPHPバージョンが間違っています

分類Dev

「不明なパーティションテーブル」-カーネルの設定が間違っています

分類Dev

nqpを再コンパイルした後の「依存関係のバージョンがないか間違っている」

分類Dev

mosquitto_pubで次のエラーが発生します:1408F10B:SSLルーチン:ssl3_get_record:バージョン番号が間違っています

分類Dev

同じマシンでコンパイルされたプログラムを実行すると、GLIBCXXのバージョンが間違っている

分類Dev

yumが間違ったバージョンのnode.jsをインストールしようとしているのはなぜですか?

分類Dev

ipythonがanacondaで間違ったPythonバージョンを使用している

分類Dev

Djangoが間違ったバージョンのPostgresを指している

分類Dev

Ruby onRails-ファラデーSSLErrorのバージョン番号が間違っています

分類Dev

パッケージカーをロードできません、nlmeのバージョンが間違っています

分類Dev

go getができる間、パッケージのバイナリを作成しないでインストールを行ってください

分類Dev

pyOpenSSL:接続のプロトコルバージョンが間違っています

分類Dev

シミュレータでiOSバージョンを変更した後のViewControllerのコンポーネントの位置が間違っている

分類Dev

docker-composeコンテナが複数のプロジェクトで間違ったコンテナを使用している

分類Dev

JSモジュールバンドラー(Webpackなど)がコンパイルされていると言うのは間違っていますか?

分類Dev

AzureADのトークンバージョンが間違っています

分類Dev

2つのコンテナ間でカールできない

分類Dev

ページのタイトルとコンテンツの順序が間違っている (wordpress/bootstrap/php)

分類Dev

コンテナがサイドバーっぽい<nav>と重なっているのはなぜですか?

Related 関連記事

  1. 1

    Mosquittoセキュリティエラー:OpenSSLエラー:ルーチン:SSL3_GET_RECORD:バージョン番号が間違っています

  2. 2

    IPA アーカイブ内のバージョン番号が間違っています

  3. 3

    カーネルバージョンがDockerコンテナのUbuntuバージョンと一致しないのはなぜですか?

  4. 4

    カーネルバージョンがDockerコンテナのUbuntuバージョンと一致しないのはなぜですか?

  5. 5

    AnsibleHTTPS接続のSSLバージョンが間違っています

  6. 6

    Google Charts:スクロールコンテナ内でツールチップの位置が間違っている

  7. 7

    java.lang.UnsupportedClassVersionError:.classファイルのバージョン番号が間違っていますか?

  8. 8

    Azure-MLデプロイメントでAzureML環境が認識されない(バージョン番号が間違っている)

  9. 9

    「nuget.exe復元ソリューション」を使用する場合のpackagesフォルダーのバージョン番号が間違っています

  10. 10

    アナコンダが間違ったCUDAバージョンを読んでいる

  11. 11

    VisualStudioコードのPHPバージョンが間違っています

  12. 12

    「不明なパーティションテーブル」-カーネルの設定が間違っています

  13. 13

    nqpを再コンパイルした後の「依存関係のバージョンがないか間違っている」

  14. 14

    mosquitto_pubで次のエラーが発生します:1408F10B:SSLルーチン:ssl3_get_record:バージョン番号が間違っています

  15. 15

    同じマシンでコンパイルされたプログラムを実行すると、GLIBCXXのバージョンが間違っている

  16. 16

    yumが間違ったバージョンのnode.jsをインストールしようとしているのはなぜですか?

  17. 17

    ipythonがanacondaで間違ったPythonバージョンを使用している

  18. 18

    Djangoが間違ったバージョンのPostgresを指している

  19. 19

    Ruby onRails-ファラデーSSLErrorのバージョン番号が間違っています

  20. 20

    パッケージカーをロードできません、nlmeのバージョンが間違っています

  21. 21

    go getができる間、パッケージのバイナリを作成しないでインストールを行ってください

  22. 22

    pyOpenSSL:接続のプロトコルバージョンが間違っています

  23. 23

    シミュレータでiOSバージョンを変更した後のViewControllerのコンポーネントの位置が間違っている

  24. 24

    docker-composeコンテナが複数のプロジェクトで間違ったコンテナを使用している

  25. 25

    JSモジュールバンドラー(Webpackなど)がコンパイルされていると言うのは間違っていますか?

  26. 26

    AzureADのトークンバージョンが間違っています

  27. 27

    2つのコンテナ間でカールできない

  28. 28

    ページのタイトルとコンテンツの順序が間違っている (wordpress/bootstrap/php)

  29. 29

    コンテナがサイドバーっぽい<nav>と重なっているのはなぜですか?

ホットタグ

アーカイブ