03. Docker Compose и Best Practice Docker, CI/CD и Gitlab CI. Вечерняя школа Слёрма по Kubernetes.

Поділитися
Вставка
  • Опубліковано 25 сер 2024

КОМЕНТАРІ • 88

  • @IvanKostrubin
    @IvanKostrubin 2 роки тому +3

    Спасибо! Давно работаю с докером и композом но тут пару полезных вещей подчерпнул.

  • @L0wPressure
    @L0wPressure 2 роки тому +4

    Уже за первые полчаса куча полезного - спасибо!

  • @Mcsuber
    @Mcsuber 3 роки тому +8

    Марсель, спасибо! отличная серия, полезная

  • @zhabokot
    @zhabokot 3 роки тому +1

    Марсель, спасибо. Про docker-compose особенно понравилось. ну и best practice, конечно, очень полезно

  • @Gregor812
    @Gregor812 Рік тому +3

    для тех, у кого не завёлся nginx после перехода на alpine: замените в докерфайле строку
    COPY custom.conf /etc/nginx/conf.d/
    на
    COPY custom.conf /etc/nginx/http.d/default.conf

    • @nikolaifedorov685
      @nikolaifedorov685 Рік тому +1

      Спасибо!!!!

    • @Gregor812
      @Gregor812 Рік тому

      @@nikolaifedorov685 не за что)

    • @fastbery
      @fastbery 3 місяці тому

      Спасибо большое

    • @Gregor812
      @Gregor812 3 місяці тому +1

      @@fastbery не думал, что кто-то это прочитает))))) не за что, рад, что помогло

  • @0xffffffffffff
    @0xffffffffffff 2 роки тому

    Всеобъемлюще. Отличный доклад. Большое спасибо!

  • @nikolaifedorov685
    @nikolaifedorov685 Рік тому +1

    Автор! Спасибо я получил несостыковку как ты и говорил с nginx! Пока дошел до того момента где ты об этом рассказываешь, я долго не мог понять почему с твоими Dockerfile'ами у меня не работает. Оказывается версии nginx были под конкретный Dockerfile'ы, а со временем все поменялось!
    Всегда знал, что вот такие эрудиты от IT допускают такие детские ошибки!

  • @anastasiarozhkova8689
    @anastasiarozhkova8689 3 роки тому +1

    Спасибо, очень здорово объяснил!

  • @airdropking5973
    @airdropking5973 Рік тому +1

    Замечаю много ляпов в видео:
    1. compose_php и compose_nginx сами по себе не создадутся с таким названием. нужно явно прописать (image: compose_php в docker-compose.yml)
    2. В alpine linux нужно ложить конфиги в /etc/nginx/http.d/ а в debian /etc/nginx/conf.d/
    3. В docker если ложить в /opt ничего не работает
    3. Если повторять 1 в 1 часто результыты разнятся. Это убивает качество обучение
    В целом мне нравится материал

  • @gimtonic
    @gimtonic 3 роки тому +1

    Спасибо) Очень даже неплохо) Кое-что не знал)

  • @petyap7600
    @petyap7600 4 роки тому +1

    Спасибо за видео

  • @azimutjava
    @azimutjava 2 роки тому

    Про alpine был в курсе, но чтобы так! В голос удивился!

  • @walkingtoursrussia4155
    @walkingtoursrussia4155 4 роки тому +2

    Спасибо Добрый человек!!! Следим! Красава!

    • @user-qm6ro6ov2g
      @user-qm6ro6ov2g 4 роки тому

      Да это не человек добрый, просто заманушный бесплатный курс слерма. Но им реально спасибо, много полезного!

    • @walkingtoursrussia4155
      @walkingtoursrussia4155 4 роки тому

      @@user-qm6ro6ov2g Ахаха, обьясняет хорошо))

    • @petyap7600
      @petyap7600 4 роки тому +1

      @@user-qm6ro6ov2g Найдутся людишки, которым качественный материал покажется заманухой. Тут целый курс по этой теме. Без обычного "наживка и крючок"

    • @manOfPlanetEarth
      @manOfPlanetEarth 3 роки тому

      @@petyap7600
      привет! ты весь курс посмотрел? если да - как тебе? я пока только третий (этот) урок начинаю смотреть.

  • @GrigoryFedorinov
    @GrigoryFedorinov 2 роки тому

    Видео супер!

  • @obsessionsys
    @obsessionsys 4 роки тому +2

    Поддержу Community Слёрм :)

  • @manOfPlanetEarth
    @manOfPlanetEarth 3 роки тому

    Субриэлю и команде огромное спасибо!

  • @e001as_def
    @e001as_def Рік тому

    Спасибо!

  • @drKatzman
    @drKatzman 3 роки тому +5

    Чем дальше в лес, тем жирнее партизаны! Спасибо тебе, добрый человек. Теперь меня может быть из программистов не выгонят.

  • @iskandarkudratov2912
    @iskandarkudratov2912 2 роки тому

    Спасибо большое, теперь имею предстовления с Docker

    • @misha8280
      @misha8280 2 роки тому

      а как учили nginx? Для меня вот это все, связанное с nginx, вообще не понятно

    • @nikolaifedorov685
      @nikolaifedorov685 Рік тому

      @@misha8280 Да так оно ещё и работает через раз. Потому что докладчик свои же рекомендации нарушает - указывать точный таг образа!

  • @ruslanroslavtsev6221
    @ruslanroslavtsev6221 4 роки тому +25

    Добавляйте, пожалуйста, Полезные ссылки в описание к видео, не удобно вручную перебивать =)

    • @nikolaifedorov685
      @nikolaifedorov685 Рік тому

      Так оно ещё и работает через раз!

  • @mobilafilm
    @mobilafilm 8 місяців тому

    best!

  • @user-kj7cc1gc1v
    @user-kj7cc1gc1v 2 роки тому +1

    Health check есть в 3 версии Аpi docker-compose

  • @demiurgus213
    @demiurgus213 3 роки тому +5

    Очень понравилось. Доходчиво!
    Кстати, при построении контейнера на образе Debian'а, для облегчения можно ещё добавить "apt-get clean" - кэши apt тоже остаются. Возможно ещё localepurge установить, но как его автоматом отконфигурить пока не думал.(если там вообще есть локали кроме "C")
    Ещё раз - спасибо!

    • @ivans.2922
      @ivans.2922 3 роки тому +2

      или использовать github.com/GoogleContainerTools/distroless там тоже есть дебиан, размер оригинала 144мб против 19мб, но там есть моменты с отладкой(там нет sh)

  • @solopovsergey
    @solopovsergey 3 роки тому

    огонь!)

  • @Bassmaniaaa
    @Bassmaniaaa 2 роки тому +2

    А зачем делать custom.conf, если при запуске контейнера вы его не указываете? По умолчанию docker не будет его читать.

  • @solodmitry
    @solodmitry 3 роки тому +3

    Объясните, пожалуйста, почему нужно пушить в registry до тестов?
    Ведь при неудачных тестах там будут накапливаться образы, которые не предназначены для деплоя, а значит, - никому не нужные, так?
    Почему нельзя выполнить тесты и пушить образы только после успешного завершения тестов?

    • @olegburca
      @olegburca 2 роки тому +2

      Чаще всего так и делают, но иногда надо прогонять тесты интеграции с другими частями системы а для этого надо новые артефакты задеплоить - значит и куда-то залить.
      Решение в таком случае простое: При билде добавлять только снэпшот тэги, а после удачного тестирования - добавить релиз тэги для образов,

  • @sonny23ization
    @sonny23ization 3 роки тому

    thnx a lot, you're the best

  • @shurale85
    @shurale85 2 роки тому +1

    а скажите, пожалуйста, в командах докера синтаксис какого языка используется? к примеру, docker rmi $(docker images -q) - что делает эта команда мне понятно. Но почему именно такой синтаксис и где про него прочитать? почему именно $ и тп. Спасибо!

    • @Hhhhoooodddd
      @Hhhhoooodddd 2 роки тому

      $() это выполнение команды в bash

  • @timurtatarshaov3317
    @timurtatarshaov3317 3 роки тому +1

    в районе часа:
    зачем пхп папка www, разве nginx не отправляет файлы из своего рута в пхп по 9000 порту?

  • @soul8084
    @soul8084 3 роки тому

    Thanks ) очень полезно_)

  • @RusDemAn
    @RusDemAn Рік тому +1

    Подскажите, пожалуйста
    При попытке запустить, как на 1:08:37 - получаю ошибку
    Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "/docker-entrypoint.sh": permission denied: unknown
    chmod +x не помог

    • @Gregor812
      @Gregor812 Рік тому

      chmod в докерфайле делали или в основной системе? я в докерфайле через RUN chmod +x сделал, всё работает

  • @Softovick
    @Softovick 4 роки тому

    Судя по документации, healthcheck уже поддерживается в 3 версии docker-compose.

    • @slurm_io
      @slurm_io  4 роки тому

      Привет! Healthcheck поддерживается, но не поддерживается "condition: service_healthy"

    • @nikolaifedorov685
      @nikolaifedorov685 Рік тому

      @@slurm_io Жесть - застрял на этом видео, т.к. все примеры с nginx то работают, то не работают!

  • @user-uo9lf8uj6s
    @user-uo9lf8uj6s 2 роки тому

    Добрый день.
    Прошу прощения и пояснения про многослойность и аспект изоляции при сборке.
    Вы упомянули, что в моменте с опцией RUN, что BP, это конкатенация команд, добавив, что второй RUN с очисткой кеша не принесёт результата, так как будет в другом слое. Я пытаюсь понять, как это можно отнести к контексту BP, если это в принципе диссонирует с контекстом BP, так как из Ваших слов следует, что результат до и после будет разный .

    • @user-uo9lf8uj6s
      @user-uo9lf8uj6s 2 роки тому

      ua-cam.com/video/Hz7fkXQABNo/v-deo.html Начало контекста вопроса.

  • @NaotOOtoni
    @NaotOOtoni 2 роки тому

    Спасибо! Но вот вопрос? Как настроить раннер (/etc/gitlab-runner/config.toml)? На сервере должен быть свой докер и докер-композ или какой-то стороний?

    • @alekseip5222
      @alekseip5222 2 роки тому

      Докер будет тот который ты сам поставишь на этот раннер...

  • @user-td3br7hc7v
    @user-td3br7hc7v 2 роки тому

    Привет! В CI/CD на стадиях cleanup and deploy используем entrypoint: [""]. Как это работает?

    • @user-td3br7hc7v
      @user-td3br7hc7v 2 роки тому

      Отвечу сам на свой вопрос. Это используется, если используем раннер в докере. Этим мы переопределяем entrypoint, который написан в докер-файле. Если мы не хотим выполнения команды в контейнере, то мы затираем его - [""]

  • @Zanozin
    @Zanozin 4 роки тому

    Спасибо, было интересно посмотреть про ci.
    Эти вопросы и комментарии, который составил для себя по ходу просмотра - буду их разбирать самостоятельно.
    56:46
    Смущает, что вся www и в php, и в nginx образах. Это нормальная практика?
    58:00
    За счет чего 9000-ый порт стал доступен для nginx - за счет того, что compose сделал из двух контейнеров какую-то общую группу?
    1:23:13
    Один логин в регистри на весь ci работает?
    1:26:40
    Что является фейлом стейджа: код выхода из программы?
    1:40:04
    Что из себя должен представлять стейдж ревью не было сказано: то есть, как это должно быть на практике, а не в теории.
    1:54:28
    "Код должен быть внутри образа". Но www дату ранее подключали через volume, а не копировали. Для локального окружения, конечно, удобнее через volume. Для прода - копирать в образ.

  • @MinistrBob
    @MinistrBob 4 роки тому

    А почему базовый образ Debian? Я смотрю python images тоже на основе Debiana. Почему именно Debian? Это что, самый крутой Linux для разработки? В чём его преимущества перед другими? почему не CentOS или Ubunta?

    • @Hhhhoooodddd
      @Hhhhoooodddd 2 роки тому +2

      Debian это базовый классический линукс дистрибутив. Убунту это форк того же дебиана, центос - форк редхата со своими прибамбасами

  • @force_of_abstinence
    @force_of_abstinence 3 роки тому

    Скажите пожалуйста, есть ли после окончания курса ко куберу какие-то сертификаты?

    • @slurm_io
      @slurm_io  3 роки тому

      Для курса вечерней школы - нет. У курсов Kubernetes с практикой есть сертификация, в ходе которой на стенде выполняется практическое задание. Выполнение примерно 5-6 часов.
      Можно отдельно сдать сертификацию.

  • @the2x548
    @the2x548 Рік тому

    А с docker compose есть такие плюшки?

  • @chadwickblackford5471
    @chadwickblackford5471 4 роки тому

    в одном из конфигов нашел такую запись
    ```
    rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
    ```
    помогает ли такое тоже?

    • @Zanozin
      @Zanozin 4 роки тому +1

      В этих директориях могут быть данные, которые использовались для билда чего-либо. Скорее всего, они не нужны. Так что, их удаление, если там что-то есть, может уменьшить размер получаемого образа.

  • @UnitedFeodor
    @UnitedFeodor 8 місяців тому

    34:47

  • @aestheticsbody9623
    @aestheticsbody9623 3 роки тому

    image с apline не работает

    • @Gregor812
      @Gregor812 Рік тому

      тоже не понял, как оно запустилось без правок. Вот мои правки ua-cam.com/video/Hz7fkXQABNo/v-deo.html&lc=UgzOzXEL5GJzN0M2sKZ4AaABAg

  • @timkaborgalinov2848
    @timkaborgalinov2848 3 роки тому

    Первые 5 минут можно было и обрезать) А так спасибо, полезно!

  • @timurtatarshaov3317
    @timurtatarshaov3317 3 роки тому +1

    Эхо(echo) правильно, ударение на первую буку ^_^

  • @ram0973
    @ram0973 4 роки тому

    народ, на vps с 1 гб ОЗУ куб не уместен? или можно

    • @MrDemooon
      @MrDemooon 4 роки тому +4

      2 Гига оперативки минимум на куб требуется

  • @dvs7060
    @dvs7060 3 роки тому

    Спикер не знает, что инструкция EXPOSE не открывает порты? Гм...

  • @Vlad73125
    @Vlad73125 2 роки тому

    Держу вкурсе, что EXPOSE не открывает порты

  • @andreybonds4608
    @andreybonds4608 4 роки тому +5

    Спикер прогуливал уроки английского в школе :-)

    • @chadwickblackford5471
      @chadwickblackford5471 4 роки тому +4

      я смотрю тут все на "perfect english" шпрехают ;-)

    • @user-pf1cs8oz3k
      @user-pf1cs8oz3k 4 роки тому +2

      Что вы против киширования имеете?

    • @user-ye8zh3ep7m
      @user-ye8zh3ep7m 4 роки тому

      Слушать произношения невозможно! 🖓🖓🖓

    • @petyap7600
      @petyap7600 4 роки тому +1

      А кто-то ещё не закончил школу видимо;)

    • @user-ye8zh3ep7m
      @user-ye8zh3ep7m 4 роки тому

      @@petyap7600 и кто же?

  • @timurtatarshaov3317
    @timurtatarshaov3317 3 роки тому

    Вараэблс

  • @mishagundiary
    @mishagundiary 3 роки тому

    Дзынь калька! xD

  • @timurtatarshaov3317
    @timurtatarshaov3317 3 роки тому

    Эд

  • @alexkart
    @alexkart 2 роки тому

    Обращаюсь к российским айтишникам. У вас забирают лучшие года жизни. ua-cam.com/video/tzLSfWGl76A/v-deo.html

  • @Gregor812
    @Gregor812 Рік тому

    для тех, у кого не завёлся компоуз по инструкции из видео, подготовил набор файлов на яндекс-диске, сами подставьте домен и дальше /d/u8z4ynIyT-cjdA
    просто ютуб удаляет комментарий со ссылкой)