Pavel
(
Alexander
Там что-то на нерусском написано
Без знания нерусского на уровне чтения в профессии делать нечего, боюсь.
Dan
Там что-то на нерусском написано
Возможно, вам не стоит начинать обучение докеру и контейнеризации. Это, разумеется, не рекомендация, но может быть начать следовало бы с изучения базы: English + Computer Science ?
Pavel
Без знания нерусского на уровне чтения в профессии делать нечего, боюсь.
К сожалению вынужден с Вами не согласиться, знание нерусского очень приятный бонус, но далеко не основа профессии
Pavel
Возможно, вам не стоит начинать обучение докеру и контейнеризации. Это, разумеется, не рекомендация, но может быть начать следовало бы с изучения базы: English + Computer Science ?
Ну я учу инглиш, но длительное время обучения только техническому английскому на мой взгляд не оптимальный способ вката в девопсы
Pavel
Типо лучше ж поботать технологии мб
Ghjk
Типо лучше ж поботать технологии мб
Ну или курс видео на рутрекер.орге поищи docker погружение чет такое я когда нубом был сам по нему учился А так он не стоит того чтобы по нему книжку читать или долгий курс смотреть. куб сложнее там то да
Alexander
Типо лучше ж поботать технологии мб
Доки ко всем технологиям на английском.
🆂🅴🆁🅶🅴🆈
ничего себе
🆂🅴🆁🅶🅴🆈
Ну я учу инглиш, но длительное время обучения только техническому английскому на мой взгляд не оптимальный способ вката в девопсы
используйте яндекс браузер со встроенным хорошим переводчиком, и все языки будут под силу
Pavel
Доки ко всем технологиям на английском.
Скажите это pgsql, и одному из русских разработчиков этой SQL, который у нас пары в институте вел) все относительно, конечно большая часть на нерусском, тут бесспорно, но далеко не вся
Pavel
Максимально классный учебник, и после него любая СУБД будет лайтовой, а там всего 370 страниц (или около того)
Pavel
Я прост хз, щас же модно монолит резать и в контейнеры пихать, соответственно хочу эту технологию изучить максимально в короткий срок
Pavel
Плюс говорят кубер тема но значительно сложнее
Pavel
Так что начинать буду с докер-компоус
Pavel
А как обстоят дела с контейнерами на винде сейчас?
Ghjk
Скажите это pgsql, и одному из русских разработчиков этой SQL, который у нас пары в институте вел) все относительно, конечно большая часть на нерусском, тут бесспорно, но далеко не вся
Пытайся читать и на русском и на енг с переводчиком Так постепенно освоишь Технический eng нужен На винде лучше не пробовать, могут быть специфические ошибки и вещи связанные с виндой, лучше установить какой нибудь ubuntu на виртуальную машину и эксперементировать на ней. Заодно нужно до обучения докеру иметь поонимание сетей и linux ОС хотя бы немножко.
Сергей
Всем привет! Помогите постигнуть магию! Есть у меня пайплайн дженкинса, в котором последовательно выполняются комнады: docker stop as2.0-dev docker kill as2.0-dev docker container rm -f as2.0-dev docker run --restart=always -d -p 80:80 --name as2.0-dev IMAGE_NAME Примерно 10% запущенных сборок падает, остальные отрабатывают нормально. При попытке старта контейнера получаю ошибку docker: Error response from daemon: Conflict. The container name "/as2.0-dev" is already in use by container Мне уже вчера посоветовали обернуть все в цикл, который несколько раз проверяет наличие контейнера и гасит при его наличии - обернул, добавил паузы, похрену Что это может быть и как бороться?
Сергей
Как минимум первые две строчки можно убрать, мне кажется.
Эти строчки - попытка хоть как то избавиться от баги. Между ними еще sleep 3 стоит, думал, вдруг не успевает загасить. Если бы третья команда работала как надо, и первые две не появились бы
Сергей
Как минимум первые две строчки можно убрать, мне кажется.
Решил просто переименовать контейнер перед убиением
Vitaly
Траефик какой взять
Siroga 🇺🇦
Включите вложенную виртуализацию для ВМ
central
Поставил в виртуалку винда и в неё докер на виртуалке ?
central
В чем смысл ?
central
А где тут написано винда?
А если не винда тогда все становиться только хуже
Iozhiggg
У вас случаем не мак с параллелс?
Iozhiggg
К слову вложенная виртуализация на параллелс есть только на про версии которая только по подписке.
Kitzu
Ребят, встал вопрос, есть 2 репозитория, back и front. Как можно их поднимать через Docker, что бы они работали вмести и при этом их можно было бы закинуть в прод с https, на данным момент в каждом репозитории свой docker-compose и там крутиться свой nginx, на сколько вообще правильно так делать? Как бы вот эту схему проделать
Kitzu
настраиваешь на сервере один энжиникс на оба репозитория
а в docker-compose, не запускать nginx? как влиять nginx сервера на контейнеры? или как? я просто вообще понять не могу, тяжко
Detalikota
В настройках ВМки на гипервизоре выставь разрешение использовать виртуализацию CPU
Алексей
В смысле? А почему на офсайте есть именно десктоп под убунту?
Алексей
Вопрос в чем?
Ну сообщение удалено. Там человек жаловался что он нашел официальную информацию что докер десктоп не работает на убунту
Kenya-West
Вангую: у вас в вирчул хост прописано имя, а вы лезете по ип. Вам книжку по сетям, днс и нжинксу надо, а не контент для натуралов
Я тупанул. Оказывается, Caddy лежал в своей сети, а не в network_mode: host. Вообще, проблема уже неактуальна, я уже раза два переписал проект, но вдруг цифровым археологам потребуется моё решение
Kenya-West
Всем привет ещё раз, ребят. Возникла идея. Для начала я совершу cuming out: я признаю́сь в том, что использую Ansible для стандартизации всего зоопарка VPS'ок, разбросанных где попало. С помощью него же (пусть это немного противоречит целевому использованию инструмента) развертываю базовые docker-compose файлы с тулзами, которые должны быть на 100% серверов: caddy, xray, wireguard, nginx, x-ui и т. д. Каждый docker-compose требует dotenv файл с секретами и конфигурацией. А ложить десятки таких файликов с конфигами в репу с Ansible зазорно. Может, сделать так, чтобы каждый docker-compose файл сам перед запуском запрашивал .env файл с какого-нибудь сервера? Причем без предварительной настройки, только строчка с ендпоинтом в аргументах перед запуском контейнера. Я глянул решения - HashiCorp Vault, Azure Key Vault, Doppler, Dotenv Vault - все они key-value без возможности скачать свой .env-файл. Dotenv Vault подошел бы, но он не работает с Docker, только с бекендом внутри контейнера. А это неприемлемо, бекенды внутри контейнеров я не контролирую вообще, image не мои. Задача: docker-compose файл запускается (или его запускает Ansible) и перед запуском самостоятельно качает нужный ему .env-файл с какого-то моего бекенда (либо Ansible перед запуском это делает). Бекенд проверяет, что это точно IP моего сервера (без MITM, не фейк, вот фото паспорта и ЭЦП) и выдаёт ему контент этого файла с секретами. Файл качается, ложится рядом с docker-compose, и весь стек начинает запускаться. Какой SaaS или self-hosted такое предложит? P. S. Тема, я считаю, относится ближе к Docker, ведь эта же задача может решиться и Bash-скриптом вместо Ansible.
𝚕𝚎𝚒𝚛
Доброго времени суток! Собираю multi-staged образ c примера со спеки У меня есть микросервисы у которых свои докер файлы. Собираю их в одном docker compose. Настроил дженкинс для докер компоуз который тригерится на запуск на сборку микросервисов , но не знаю какую команду использовать чтобы поднялся именно тот контейнер который вызвал триггер. docker compose up -d Не решает проблему. В голову приходит написать свою логику который останавливал бы контейнеры, удалял их и собирал их обратно. Но хотел спросить есть ли варианты по лучше?
Aleksey
Всем привет ещё раз, ребят. Возникла идея. Для начала я совершу cuming out: я признаю́сь в том, что использую Ansible для стандартизации всего зоопарка VPS'ок, разбросанных где попало. С помощью него же (пусть это немного противоречит целевому использованию инструмента) развертываю базовые docker-compose файлы с тулзами, которые должны быть на 100% серверов: caddy, xray, wireguard, nginx, x-ui и т. д. Каждый docker-compose требует dotenv файл с секретами и конфигурацией. А ложить десятки таких файликов с конфигами в репу с Ansible зазорно. Может, сделать так, чтобы каждый docker-compose файл сам перед запуском запрашивал .env файл с какого-нибудь сервера? Причем без предварительной настройки, только строчка с ендпоинтом в аргументах перед запуском контейнера. Я глянул решения - HashiCorp Vault, Azure Key Vault, Doppler, Dotenv Vault - все они key-value без возможности скачать свой .env-файл. Dotenv Vault подошел бы, но он не работает с Docker, только с бекендом внутри контейнера. А это неприемлемо, бекенды внутри контейнеров я не контролирую вообще, image не мои. Задача: docker-compose файл запускается (или его запускает Ansible) и перед запуском самостоятельно качает нужный ему .env-файл с какого-то моего бекенда (либо Ansible перед запуском это делает). Бекенд проверяет, что это точно IP моего сервера (без MITM, не фейк, вот фото паспорта и ЭЦП) и выдаёт ему контент этого файла с секретами. Файл качается, ложится рядом с docker-compose, и весь стек начинает запускаться. Какой SaaS или self-hosted такое предложит? P. S. Тема, я считаю, относится ближе к Docker, ведь эта же задача может решиться и Bash-скриптом вместо Ansible.
А зачем ты енвы файлы ложишь рядом с проектами?
𝚕𝚎𝚒𝚛
Привет, не очень понятно ты весь докер комоз поднимаешь или только один контер хочешь
Я хочу поднять лишь изменившийся контейнер. Раньше я когда генерил образ с jib plugin. И тогда я при команде docker compose up -d поднимались изменившийся контейнеры. Но щас когда я использую свой Dockerfile такой трюк не работает.
Илья С
docker stop --time 777 containername правильно совать в ExecStartPre systemd.timer-а? и, соответственно, docker start containername - в ExecStartPost ? или есть какое-то менее корявое решение& у мея сейчас контейнер с 300 МБ данных стартует 1 минуту (и 5 секунд отвечает) а на проде с терабайтом данных - стартует ~сутки
Илья С
Java штоле? В чем вопрос? Сделайте health check с точным сообщением что все ок. А не по таймеру
Вопрос в том, что в документации systemd.service написано, что ExecStartPre - это для быстро отрабатывающих команд. Note that ExecStartPre= may not be used to start long-running processes. All processes forked off by processes invoked via ExecStartPre= will be killed before the next service process is run. Note that if any of the commands specified in ExecStartPre=, ExecStart=, or ExecStartPost= fail (and are not prefixed with "-", see above) or time out before the service is fully up, execution continues with commands specified in ExecStopPost=, the commands in ExecStop= are skipped. А что делать с командами, которые отрабатывают за 14 часов, например, - не написано. Нет, не JAVA, самописная документная БД, которая работает 10 лет без перерыва и содержитьэ данные для аутентификации и авторизации примерно миллиона юзеров.
Kenya-West
А зачем ты енвы файлы ложишь рядом с проектами?
Потому что они используются одновременно и в docker-compose файле, и пробрасываются в контейнер тоже. Вдобавок заполняются значения в конфигах (environment substitution) проекта, который крутится внутри контейнера. Но с этим немного сложнее, этому я сейчас посвящу отдельный вопрос...
Kenya-West
а ты енвы чем шифруешь
Ничем, рядом лежат
Aleksey
Ничем, рядом лежат
понял ну так тоже можно
Kenya-West
Ничем, рядом лежат
И я хочу, чтобы вот эти рядом лежащие .env файлы лежали где-нибудь в облаке, и контейнер/Ansible сам туда лез, сообщал свой айпишник и своё имя сервиса (caddy, frp, xui) и получал свой .env-ик. Мне нужно решение по моему ТЗ, либо решающее эту задачу
Aleksey
Ничем, рядом лежат
я просто изначально твой вопрос не понял
Aleksey
И чтоб эти .env'ики убрались с глаз долой из моего репозитория Ansible! Терпеть не могу, когда секреты видно даже номинально
Это да их не должно быть энвы только на локалхосте живут я как понимаю ты через ансибл деплоишь а чем гитлаб не подошел
Kenya-West
Это да их не должно быть энвы только на локалхосте живут я как понимаю ты через ансибл деплоишь а чем гитлаб не подошел
GitLab/GitHub не подошел, потому что их CI если триггернится, то обновит все сервера одновременно, а если где-то навернётся обнова контейнера? Если ты про хранение секретов где-то в GitHub - ну такое, rate limit для обращения в API у них жёсткий. А я хочу, чтобы мой проект юзал не только я
Kenya-West
И я хочу, чтобы вот эти рядом лежащие .env файлы лежали где-нибудь в облаке, и контейнер/Ansible сам туда лез, сообщал свой айпишник и своё имя сервиса (caddy, frp, xui) и получал свой .env-ик. Мне нужно решение по моему ТЗ, либо решающее эту задачу
Ну, вообще, как вариант... файлы с конфигами и секретами - это же текстовые файлы... Закодировать их в base64 и залить одной строчкой в любое хранилище секретов типа Doppler… Костыльно, но приемлемо. Ищу ещё решения получше
Рашид
А что, докер хаб уже того?
Данил
Ну шо неспящие, у вас тоже докер перестал подтягивать образы?
rus
Ну шо неспящие, у вас тоже докер перестал подтягивать образы?
У всех перестал Вот как зеркала прописать можно https://t.me/tech_b0lt_Genona/4482
Amber Ceo
Ребят всем привет, поменяли получается схему в бд призма теперь не деплоиться приложения уже локально добавлял папку миграции но все равно не работает подскажите как нужно новую миграцию первую делать
Тынарбек
А что, докер хаб уже того?
не совсем, но того
Vitaly
Мне ответили на запрос: Subject: Docker Hub blocking Russian IPs Description: Docker Hub has started responding with 403 Forbidden error with a message "we now block all IP addresses that are located in Cuba, Iran, North Korea, Republic of Crimea, Sudan, and Syria". However, my address is not located in Crimea, it's located in Moscow -- and it's still blocked. Judging from posts I see around in Russian Docker and Kubernetes community -- you've blocked many different Russian IPs not related to Crimea and other disputed regions. Please unblock them if you've done this by accident, or please specify that you're blocking any Russian IP on purpose. ——— Ответ: Thank you for contacting Docker Support. At this time we are no longer doing business with Russian or Belarusian companies and have removed the ability to purchase subscriptions from these countries. https://www.docker.com/blog/dockers-response-to-the-invasion-of-ukraine/ Since Docker is a US company, we must comply with US export control regulations. In an effort to comply with these, we now block all IP addresses that are located in Cuba, Iran, North Korea, Russia, Republic of Crimea, Sudan, and Syria. Thank you for your kind understanding.
Vitaly
не совсем, но того
Переслал с канала куба
Владимир
Ghjk
"registry-mirrors" : ["https://huecker.io", "https://yandex.cr/mirror/", "https://mirror.gcr.io", "https://ghcr.io", "https://gcr.io", "https://mcr.microsoft.com", "https://public.ecr.aws", "https://daocloud.io", "https://registry.docker-cn.com", "https://c.163.com", "https://eu-central-1.mirror.aliyuncs.com", "https://docker.mirrors.ustc.edu.cn"]
Kitzu
А есть смысл Podman юзать? или он под капотом Docker использует?
Andrey
huecker, c.163.com я б не использовал, а остальные вроде норм
Dan
:3
David
а почему нгинкс спокойно пуллится после этих манипуляций, а мой backend и frontend образ - нет?
_nikita
доброе утро
_nikita
россия отлетела?
Andrey
Чат выше почитай
_nikita
https://habr.com/ru/articles/811375/ погнали
Vitaly
Владимир
а почему нгинкс спокойно пуллится после этих манипуляций, а мой backend и frontend образ - нет?
Пропиши в компосе для сервисов ссылку напрямую в зеркало и не мучайся
Kitzu
Так проблема не в докере а в регистре
как я понял podman и так под капотом юзает Docker инструменты вроде да же образы