回答編集履歴
2
選択肢 1. の方法を追記
test
CHANGED
@@ -19,3 +19,21 @@
|
|
19
19
|
2. curl コマンドに何らかのオプション (証明書を無視する等) を追加する。
|
20
20
|
3. EOLになっていないバージョンのAlpine Linuxを使う。
|
21
21
|
|
22
|
+
## 追記
|
23
|
+
|
24
|
+
ご質問の意図は、上記1.の方法を知りたいということだったそうです。以下説明します。
|
25
|
+
|
26
|
+
必要なルート証明書 (及び中間認証局証明書) を特定して入手する方法については、pecl.php.netのサーバ証明書を調べることで調べることができます。しかし、この方法を説明しだすととても長くなってしまうので、調べる方法がわからないときは別の質問で聞いてください。
|
27
|
+
|
28
|
+
さて、必要な証明書を入手できたら、Dockerfileに次のものを記述する必要があるでしょう。
|
29
|
+
|
30
|
+
```
|
31
|
+
RUN apk update && apk add ca-certificates
|
32
|
+
COPY 証明書.crt /usr/local/share/ca-certificates/
|
33
|
+
RUN update-ca-certificates
|
34
|
+
```
|
35
|
+
なお、ca-certificatesがインストールされておらず、apkコマンドが失敗するようなら、ca-certificatesバンドルをなんらかの方法で入手してインストールしてください。
|
36
|
+
また、証明書ファイルの拡張子は`.crt`にする必要があります。
|
37
|
+
|
38
|
+
処理の内容について詳しくは、update-ca-certificatesコマンドのマニュアルページを参照してください。
|
39
|
+
|
1
typo
test
CHANGED
@@ -11,7 +11,7 @@
|
|
11
11
|
|
12
12
|
ですので、Alpine Linuxにインストールされた信頼しているルート証明書が古いのだと考えられます。つまり、pecl.php.netのサーバ証明書の検証に使えるルート証明書がインストールされていません。
|
13
13
|
|
14
|
-
Alpine Linuxであれば、信頼しているルート証明書はca-certificatesというパッケージで提供されているはずです。しかし、Alpine 3.7は2019年03月06日を以てend of lifeを迎えていますので、アップデー
|
14
|
+
Alpine Linuxであれば、信頼しているルート証明書はca-certificatesというパッケージで提供されているはずです。しかし、Alpine 3.7は2019年03月06日を以てend of lifeを迎えていますので、アップデートされたca-certificatesパッケージは入手できません。
|
15
15
|
|
16
16
|
対応としては、次のような選択肢があると思います。
|
17
17
|
|