да, это я
Конечно, знаю. Но я знаю, что есть люди, применявшие все перечисленные мною технологии для этого вопроса, с разной степенью успешности, я всё же изучал вопрос перед тем как прийти сюда. А вообще это не несло конкретной смысловой нагрузки, просто спискота.
да, это я
Должен. Более того, к подобным выводам я пришёл и сам, не первый день в IT. Но это всё не более чем логические измышления, я же не зря пришёл именно в сообщество Docker с этим вопросом, вполне возможно, что есть какие-то подводние камни, связанные конкретно с Docker, гуру которого я пока не являюсь, или у кого-то был опыт внедрения подобного решения. Явно же не самый редкий кейс.
Andrew
Anonymous
Ну или прикручивать к Docker supervisord
Anonymous
Но это уже совсем другая история
Andrew
Благодарю. Эти рекомендации выданы и многим ранее, и там же уже даны пояснения.
Alexey
Привет, а кто может подсказать про storage в AWS ECS? Нужно один volume к нескольким заданиям подцепить
Tadeusz
Pavel
John
коллеги, подскажите пжлста как это вылечить:
Pulling docker image git.domain.ru/domain/core ...
ERROR: Preparation failed: Error response from daemon: Get https://git.domain.ru/v2/domain/core/manifests/latest: unauthorized: HTTP Basic: Access denied
причем это в гитлабе запускается пайплайн, который должен запустить докер, а я не пойму где-что сломалось, и как это чинить
Виталий
John
может быть, но не понимаю где и как проверить. подскажи пжлста, я пока новый в докере)
Виталий
Ну и если по ссылке сходить все же - то аккаунт отключён одменом
Виталий
Никак) что это за контейнер вообще?
John
по ссылке сертификат самоподписанный, сроком до 2030г
а текст на странице:
{"errors":[{"code":"UNAUTHORIZED","message":"authentication required","detail":[{"Type":"repository","Class":"","Name":"domain/core","Action":"pull"}]}]}
John
в контейнере ансибл должен запускаться.
John
как понять что сломалось?
John
с учетом того, что это гит должен запускать, я вообще плыву 🙁
Mentat
Написано же русским языком, по твоей ссылке требуется http авторизация. Либо логин/пароль с которым ты ломишься неправильный, либо тебе туда над стучатся по git с ключами, а не https.
John
так ключ не мог протухнуть.
еще на прошлой неделе работало. Сейчас нет.
Если например виновен ключ, то как это проверить?
потому что в .gitlab-ci.yml
написано только
image: git.domain.ru/domain/core
Mentat
сам руками дергал ссылку? https://git.domain.ru/v2/domain/core/manifests/latest которая
John
конечно.
вот описание
по ссылке сертификат самоподписанный, сроком до 2030г
а текст на странице:
{"errors":[{"code":"UNAUTHORIZED","message":"authentication required","detail":[{"Type":"repository","Class":"","Name":"domain/core","Action":"pull"}]}]}
Mentat
John
Вы говорите абсолютно точно. Но к моему сожалению абсолютно бесплезно.
Авторизация была прописана, мне достался этот монст, и я пытаюсь понять как оно должно работать.
Так как сейчас конструкция не работает, то я и пытаюсь понять где и что надо прописать, или убедится что прописано.
Mentat
John
гитлаб + гитлаб-ci
John
который запускает докер, в котором ансибл
Mentat
Поищи группу гитлаба, спроси там у людей как они авторизацию эту прописывают. либо в ru_devops сходи, там может кто есть щас. Проверь что руками у тебя работает конструкция docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN myregistry.com
Mentat
ну понятно что свое подставь
Mentat
должно быть Login Succeeded
Mentat
Возможно у тебя эта волчанка https://gitlab.com/gitlab-org/gitlab-ce/issues/20185 - проверь там по каментам версию
John
понял, попробую покурить в эту сторону. О результате сообщу
John
А как понять под кем оно логинится должно?
в конфигах нашел:
auth:
token:
realm: http://git.domain.ru/jwt/auth
service: container_registry
issuer: omnibus-gitlab-issuer
rootcertbundle: /var/opt/gitlab/registry/gitlab-registry.crt
💪💪💪🏅DEVOPS💪💪💪
парни киньте ссылкой на php комьюнити
Alexander
John
эти переменные в проекте или есть на группу проектов переменные?
John
нашел переменные REGISTRY_PASS
REGISTRY_USER
и DEPLOY_KEY
при попытке написать docker login -u <REGISTRY_USER> -p <REGISTRY_PASS> git.domain.ru/group/project
говорит про сертификат.
John
Error response from daemon: Get https://git.domain.ru/v1/users/: x509: certificate signed by unknown authority
John
но это локальный реестр, и сертификат там самоподписанный до 2030
🦠
ну вот самоподписанный и бреет
John
допустим. Но в пятницу наверняка был он же. Потому что если это не так, то сейчас тамлежал бы другой, протухший сертификат
John
а если я сертификат сегодня ни чем не отличается от пятничного, то должен быть вариант логина в реестр с игнорированием сертиката, или пояснением "доверять"
🦠
DOCKER_OPTS="--insecure-registry myregistrydomain.com:5000"
🦠
https://gitlab.com/gitlab-org/gitlab-ce/issues/18239
John
на проекте нет переменных. На группе есть, но при попытке воспользоваться - ругается опять на сертификат
John
вот подсказали на DOCKER_OPTS посмотреть. Изучаю как им воспользоваться
🦠
это надо трогать раннер
John
в конфигах раннера это должно быть указано?
🦠
ага
John
как-то грустно у меня
cat /etc/gitlab-runner/config.toml
concurrent = 1
check_interval = 0
🦠
раннер пускает докер, докер внутри исполняет скрипты gitlab-ci, в которых стоит image: ну и далее все подцепит
🦠
если конечно не шелл
John
не шелл. С таким конфигом как у меня, оно вообще должно было работать?)
Alexander
John
вот же он
John
Alexander
Чудно. Возможно это какой-то дефолтный. У меня каждый runner имеет свою секцию в файлике... добавьте новый раннер попробуйте.
Alexander
у меня вот так вот есть.... tls_verify возможно вам поможет
John
John
у меня их уже три!
Alexander
у меня их уже три!
не важно сколько их - важно глянуть их настройки. А вы их показать не можете :)
John
настройки в файле /etc/gitlab-runner/config.toml
?
я его показал весь
John
нашел.
есть машина где живет гит
есть машина где живет докер
на гите конфиг я уже показывал.
На докере он выглядит как у вас
John
concurrent = 1
check_interval = 0
[[runners]]
name = "dev"
url = "http://git.domain.ru"
token = "7c732097c9936aeeedf4e528850879"
executor = "docker"
[runners.docker]
tls_verify = false
image = "ubuntu:16.04"
privileged = false
disable_cache = false
volumes = ["/cache"]
shm_size = 0
[runners.cache]
John
это на машине с докером
Nikita
John
возможно я близок к разгадке:
пр попытке запустить docker login git.domain.ru
предлагается ввести пароль старого админа.
Alexander
John
да, логин и пароль.
John
root@dev:~/.docker# cat config.json
{
"auths": {
"git.domain.ru": {
"auth": "YmF1a2luOnYxdnI0FlUw=="
},
"registry.domain.ru": {
"auth": "cmVwb3VzZXI6cmVb3Bhc3M5"
}
}
Alexander
привет)
если есть 1 нода в swarm-mode режиме, какой вариант вам кажется более логичным - через docker service create или через docker stack deploy? в чём реально разница между этими вариантами, какой более современной? (с оглядкой на интеграцию с Kubernetes в будущем может быть)
Alexander
то есть если сервис всего 1, имеет ли смысл его запускать декларативно описывая через конфиг или лучше просто командой?
🦠
🦠
вы заблокировали его учетку - авторизация пошла по бороде
🦠
это обычная мина замедленного действия)
🦠
сходите и получите новый токен https://git.domain.ru/profile/personal_access_tokens для api
🦠
я завел независимый акк на отдел и токен сложил в ENV