Чтобы работать над старым унаследованным проектом, я пытаюсь настроить базу образов докеров на Ubuntu 20.04, используя старую версию curl. 7.27.0
.
Поэтому я устанавливаю curl из исходников
ENV CURL_VERSION 7.27.0
ЗАПУСК cd /tmp && \
wget "https://curl.se/download/curl-$CURL_VERSION.tar.gz" -O curl.tgz && \
tar -xvzf curl.tgz && \
cd curl-$CURL_VERSION && \
./configure --with-Secure-Transport --enable-libcurl-option && \
сделать && сделать установить
Установка прошла успешно, и мы видим, что версия curl следующая:
curl 7.27.0 (x86_64-неизвестный-linux-gnu) libcurl/7.68.0 OpenSSL/1.1.1f zlib/1.2.11 brotli/1.0.7 libidn2/2.2.0 libpsl/0.21.0 (+libidn2/2.2.0 ) libssh/0.9.3/openssl/zlib nghttp2/1.40.0 librtmp/2.3
Протоколы: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp scp sftp smb smbs smtp smtps telnet tftp
Возможности: AsynchDNS IDN IPv6 Largefile NTLM NTLM_WB SPNEGO SSL libz TLS-SRP
Мы видим, что протоколы https
находится в списке активных протоколов.
Затем в сборке докера запускаются некоторые другие команды, например apt-получить обновление
или же ldconfig
и т.д..
Затем, когда следующий вызов curl выполняется после, я получил следующую ошибку:
curl: (1) Протокол «https» не поддерживается или отключен в libcurl
Поэтому, когда я снова проверяю версию curl, я вижу это:
curl 7.27.0 (x86_64-неизвестный-linux-gnu) libcurl/7.27.0 zlib/1.2.11
Протоколы: файл dict ftp gopher http imap ldap pop3 rtsp smtp telnet tftp
Возможности: IPv6 Largefile libz
Кажется, что некоторые протоколы были отключены после запуска удачное обновление
или же ldconfig
и что версия libcurl была понижена до той же версии curl.
Я не могу понять, почему это происходит и чем это вызвано. Итак, мой вопрос: как я могу предотвратить отключение некоторых протоколов? или libcurl lib для понижения версии? Кроме того, какое-либо объяснение того, что произошло?