Из-за извлечения Docker из Artifactory сообщение «net / http: request отменено» непоследовательно - PullRequest
0 голосов
/ 07 июня 2018

Мы запускаем Artifactory 5.11.0 (просто обновили до 6.0.2 сегодня и еще не видели этого) в док-контейнере, и когда наша автоматизация выполняет docker pull из Artifactory, в 9/10 раз она успешна.Иногда, даже при запуске docker pull с компьютера, на котором размещается Artifactory, docker pull завершается неудачно с:

Pulling 'docker. {Url артефакта} / staging: latest' ... Ошибка ответа отдемон: Получить http://docker.{artifactory url} / v2 / staging / manifest / latest: Получить http://docker.{artifactory url}: 80 / артефакт / api / docker / docker / v2 / token? account = admin & scope = repository%3Astaging% 3Apull & service = docker. {URL-адрес артефакта}% 3A80: net / http: запрос отменен (Client.Timeout превышен при ожидании заголовков)

Как я уже говорил, большую часть времени это работает идеально,но что 1/10 (вероятно, меньше) мы получаем вышеупомянутую ошибку во время наших автоматических сборок.Я пытался запустить docker pull в цикле while в течение ночи, пока не произошел сбой и не было сбоя.Запустил ping в течение ночи и пакеты не были потеряны.

ОС: Debian 9 x64
Docker версии 17.09.0-ce, сборка afdb6d4 и, как представляется, происходит чаще с Docker версии 18.03.1 ~ ce-0 ~Debian, но у меня нет прямых доказательств того, что клиент виноват.

1 Ответ

0 голосов
/ 01 мая 2019

Вот что JFrog предоставил мне, чтобы попытаться решить эту проблему.(Примечание: в то время мы использовали более старую версию Artifactory, и они рекомендовали обновить ее до последней версии, поскольку было несколько обновлений, которые могли бы помочь).

The RAM value -Xmx 2g was the default value provided by Artifactory. We can increase that value by going into the Docker container "docker exec -it artifactory bash"
and then $Artifactory_Home/bin/artifactory.default ( Mostly: - /opt/jfrog/artifactory/bin/artifactory.default) and we can change the RAM value accordingly. Please follow this link for more information.

We should also change the access max threads count and we can do that by going to $Artifactory_Home/tomcat/config/server.xml and change it to:

        <Connector port="8040" sendReasonPhrase="true" maxThreads="<200>"/>

Also add below line in /var/opt/jfrog/artifactory/etc/artifactory.system.properties

        artifactory.access.client.max.connections=200

To deal with heavy loads we need to append the below line  in /var/opt/jfrog/artifactory/etc/db.properties.Please follow this link for more information.

        pool.max.active=200

Кроме того, они сказали мне, чтобы я был уверен, что мы используем ключ API при аутентификации клиента докера с помощью Artifactory вместо входа в систему через user / pass, поскольку последний будет проходить нашу аутентификацию ldap, а первый не будет:

Одна из попыток - использовать ключ API вместо обычного текстового пароля, так как использование ключа API не будет связываться с сервером LDAP.

Мы уже делали это, поэтомуэто не оказало влияния на проблему.

Также опубликовано здесь: https://www.jfrog.com/jira/browse/RTFACT-17919?focusedCommentId=66063&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-66063

Надеюсь, это поможет, так как нам помогло.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...