Я настолько преисполнился в своём познании... Всегда интересно изучать что-то новое. Я под первым уроком задавался вопросом: кто бы мне мог нормально объяснить суть контейнеров. Тогда действительно было непонятно. Но начиная с третьего урока на практике я осознал жизнь бытия. Благодарю
Совет. Если у вас при вводе команды docker build . - выдает ошибку failed to solve: the Dockerfile cannot be empty - то это значит что вы не сохранили сам файл проекта. CTRL+S или хз как в Маке, и этой ошибки не будет
Супер разбор, спасибо.Хотел додать что для удаления образа можно использовать "docker rmi ...." вместо "docker image rm ...."и не нужно писать всё ID образа достаточно 2-3 первых символа.
Если у вас после команды build образ показывается в консоли, но его нельзя удалить (No such container: ID), а в приложении докера образа не видно (у меня образы собранные по примеру в видео отображались только в терминале) - попробуйте удалить образ командой "docker rmi ID". После этой команды у меня образ удалился и другие созданные из Dockerfile образы стали отображаться в приложении Docker
Молодец, хороший курс по докеру для новичков, резануло только слух "порядок команд не важен" исполняться будет но порядок все-таки важен, от менее часто изменяющегося состояния команд к более частым сверху вниз
09:29 docker build . приводит к такой ошибке failed to solve with frontend dockerfile.v0: failed to create LLB definition: the Dockerfile cannot be empty
А почему мы ввели run и контейнер не запустился в докере хотя он написал привет мир? Или если метод майн останавливается то контейнер так же завершает поток?
Столкнулся с проблемой при команде БИЛД failed to solve with frontend dockerfile.v0: failed to create LLB definition: the Dockerfile cannot be empty Далее перепробовал все. Ничего не помогает. И в терминале заметил у вас стоит кодировка Bash, а у меня только powershell. Можете подсказать как это все исправить? Спасибо за уроки
откройте файл в блокноте из проводника, он будет пустой, чтобы все хорошо запустилось, нужно нажать "сохранить", это как для докер файла, так и для java
Привет. Хочу дать небольшой совет, как обычный зритель. Юскейс: мне понравилось видео, я включил весь плейлист. Смотрю очередное видео, мне очень нравится, думаю что досмотрю и обязательно поставлю лайк. А может и коммент напишу. Видео заканчивается(что понятно по предложению подписаться), я беру в руку телефон, чтоб поставить лайк, а там уже включилось следующее видео. Теперь, чтоб поставить лайк тому видео, мне надо свернуть это, где уже началось что-то интересное, открыть плейлист, найти предыдущее видео, включить его, поставить лайк и вернуться обратно на новое видео. Многие ли станут так париться? Просто поставят лайк новому видео, а старое останется без него. К чему я веду, нужна финальная заставка. 3, а лучше 5 секунд. Не слишком длинная, но чтоб можно было успеть схватить телефон и влепить класс 👍
Когда он говорит около 20 секунд в конце "подписываемся, ставим лайки блаблабла" можно спокойно успеть поставить лайк и переключиться на следующее видео
@@nakamasama я смотрю и другие каналы, на многих из них подписаться предлагают в середине, а то и несколько раз за видео. Потому эти фразы для меня не являются признаком конца видео. В любом случае, я не говорю, что все тормозят, как и я. Только описал свой случай и предположил, что я такой не один.
@@liosha2007 Я Вас понимаю. Про себя расскажу. Я тоже подписан на 125+ каналов и на всех подписаться просят и в начале, и в середине, и в конце видео. Поэтому это действительно не показатель. Однако лично у меня есть чуйка, когда видео заканчивается. Я не знаю, сколько длится видео, но по фразам типа "мы просмотрели", "мы проверили", "остальное будет в следующей серии" и т.д. (таких шаблонных фраз, если мозги поднапрячь, можно с три десятка вспомнить), я понимаю, что видео почти закончилось, ставлю лайк и перехожу на следующее видео, при чём до завершения видео остаётся от 10 до 60 секунд. Это столько авторы обсуждают после ролика, что они сделали в этом ролике и что планируют дальше. Я всегда это пропускаю. Но я сам так не всегда делаю. Например, если видео открыто на фоне и я его слушаю, но при этом я занимаюсь ещё чем-то другим (играю в игры, что-то пишу), то я слушаю и окончание видео и только после того, как оно завершится, ставлю лайк и перехожу на следующее видео.
И ещё по поводу плей-листов. Можно просто выключить авто-воспроизведение. Тогда видео не будет переключаться. Вы спокойно успеваете поставить лайк и включить следующее видео. Мне легче и удобнее так, а когда видео само переключается - меня это бесит и раздражает. Кому-то одно нравится, кому-то второе. Это вкусовщина.
У меня вообще интересная ситуация получается: "failed to solve with frontend dockerfile.v0: failed to create LLB definition: the Dockerfile cannot be empty"
Всем привет. Подскажите, все делал как по уроку, а в репозитории у меня так не появился файл с таким же весом, как и openjdk. Какие либо расширения дополнительно нужно было устанавливать?
если образ это blueprint, а контейнер непосредственно окружение в которой все работает. так может файлы будут скопированы в контейнер, а не в образ. а то я путаюсь.
тоесть image это файлы кода, разного кода, в том числе хоть операционки, если это убунту. грубо говоря файлы и папки на выключенном компе., конгтейнер всетаки среда исполнения, и если контейнер запущен это всеравно что включить комп.
где-то ж услашал что образ blueprint так и засело в голову. что-то важно пять дней подряд не можешь запомнить, а что-то мимолетное прям глубоко закапывается.
Команда WORKDIRиспользуется для определения рабочего каталога контейнера Docker в любой момент времени. Команда указана в Dockerfile. Любая RUN, CMD, ADD, COPYили ENTRYPOINTкоманда будет выполняться в указанном рабочем каталоге.
Весь этот курс - издевательство какое-то. Клиент: я хочу построить спорткар своими руками. Помощник: - обучает как сделать деревянную повозку. Так и эти видеоуроки. Они бессмысленны. Никто не занимается докером ради приложения уровня "хелло ворлд". Человек который изучает докер - это программист который написал проект с кучей зависимостей, и хочет его запустить в докере. Соответственно у него млн вопросов из-за ошибок которые он получает но не знает что с ними делать. Например: я юзаю мавен, мне уже не подходит простой openjdk, который к тому же отказывается компилить проекты которые юзают java 21. Как вообще работать с зависимостями Spring? Selenium? как докеру понять что мне нужно не просто запустить javac main а мне нужно сраный мавен стартануть а тот должен запустить спринг, ну или наоборот, хер знает как оно там под капотом работает. И потом где эти директории которые прописываются типо /usr/src/app ....Где они? Их нет ни в докере, ни в его директории хранилища, ни в проекте... А после пары неудачных запусков докерфайла у меня - 9гб места на диске С, а докер показывает просто полурабочий образ весом 500мб. Что с этим делать? Почему докер жрет гигабайты быстрее чем я обучаюсь? ВОт на эти вопросы я хочу получить ответы изучая докер. А не вот это вот все....
ну неудвивтельно, что ты не можешь решить все эти проблемы, ведь ты даже прочитать текст внимательно не можешь, куда уже там докер. Курс называется "для начинающих". Что ты хочешь от него? С твоими вопросами только гуглить и искать инфу самостоятельно, а не курсы для начинающих смотреть.
@@ПаатаБалиашвили Докер априори начинающим не нужен. Все равно что в детском саду преподавать высшую математику, назвав курс - высшая математика для начинающих....
@@АртемКазрагис Видимо я лучше тебя, раз я первым разобрался с докером и со всем остальным мусором который никак не влияет на мой заработок. А ты только ща посмотрел видос и отписал. Я уже проект успел доделать, задеплоить и получить деньги, пока ты тошнотворно изучал то, что в принципе не важно. 99.9% программистов не понимают почему компьютер понимает исключительно бинарный код, но как-то ж программируют... А я знаю, и дальше че? Мне кто-то заплатил хоть раз за эти знания? Нет. Вот и знание мавена и прочего шлака элементарно можно пропускать потому что за это не платят. Платят по факту конечного результата. Лучший айтишник это тот кто добивается результата так же как игроки спидраннеры. А все остальное вкусовщина. Хочешь знать - учи. Дело каждого.
Тупейшее объяснение докерфайла. Ничего не понятно. Зачем указать везде корневую папку. Покажи как работать, когда файл находится глубоко в проекте. На винде можно запутаться со слэшами, но урок конечно записан на макОС, которого у большинства нет и никогда не будет, а под винду никаких оговорок не сказано. Переслушал объяснение про RUN и CMD. Объяснено на отвали, каким то кривым языком. Попытка объяснить разницу выглядела как скорее попытка объяснить схожесть.
Блин, ну не джавак же, мои ушиииии, как же режет😂 Это же простой английский 1 класса - алфавит 😮 Мы же не говорим к++, мы говорим си++, поэтому джаваси))))
Английский первого класса тут не причем. Если javac и читается как джаваси, то только потому что "C" это коращение второго слова. Вы же не будете читать слова aztec, comic, Mac, как атстеси, комиси, маси. С точки зрения английского, он произнес как раз-таки правильно.
Сейчас (2023) расширение для контейнеров в VSCode называется Dev Containers
Спасибо!
Спасибо тебе! Ты лучший!!
Большое спасибо!
В топ!
Я настолько преисполнился в своём познании... Всегда интересно изучать что-то новое. Я под первым уроком задавался вопросом: кто бы мне мог нормально объяснить суть контейнеров. Тогда действительно было непонятно. Но начиная с третьего урока на практике я осознал жизнь бытия. Благодарю
Спасибо, что разобрал тему на примере работы с java😂
Безмерно благодарен❤
Спасибо тебе добрый человек! Очень интересный материал и объяснение!!
Сейчас вроде бы Remote Containers для VScode это Dev Containers от того же Microsoft
Подтверждаю
Спасибо большое за контент😊, намного понятнее стало что это за кит такой😂😂
Совет. Если у вас при вводе команды docker build . - выдает ошибку failed to solve: the Dockerfile cannot be empty - то это значит что вы не сохранили сам файл проекта. CTRL+S или хз как в Маке, и этой ошибки не будет
Вот спасибо тебе.
Really you nice men
Спасибо ❤
лайк+подписка+коммент)))) Нужно по Kubernetes, Ansible, Terraform, Azure,GCP, AWS. Знаю - не треснет
Супер разбор, спасибо.Хотел додать что для удаления образа можно использовать "docker rmi ...." вместо "docker image rm ...."и не нужно писать всё ID образа достаточно 2-3 первых символа.
Выдаёт ошибку, что не удалось загрузить или найти класс мейн
Если у вас после команды build образ показывается в консоли, но его нельзя удалить (No such container: ID), а в приложении докера образа не видно (у меня образы собранные по примеру в видео отображались только в терминале) - попробуйте удалить образ командой "docker rmi ID". После этой команды у меня образ удалился и другие созданные из Dockerfile образы стали отображаться в приложении Docker
Класс
Молодец, хороший курс по докеру для новичков, резануло только слух "порядок команд не важен" исполняться будет но порядок все-таки важен, от менее часто изменяющегося состояния команд к более частым сверху вниз
Да, я тут недавно несколько часов голову ломал, почему у меня не запускался Apache, а всего лишь не в том порядке.
Remote containers похоже теперь Dev Containers называется
Спасибо огромнейшее!
Спасибо!
Спасибо большое за такие понятные видео!) Подскажите, пожалуйста, есть ли подобные видео насчет портов? не совсем поняла откуда мы взяли 3001 и т.д.
Можно указать любой свободный порт. 3001 просто для примера был указан. Для большего понимания, нужно изучать основы сетей TCP/IP
Круто!😁😁😁
Второго расширения которое надо скачать нету в магазине расширений именно под тем именем, но как я понял, Dev Containers это то же самое
09:29 docker build . приводит к такой ошибке
failed to solve with frontend dockerfile.v0: failed to create LLB definition: the Dockerfile cannot be empty
Нашли, как исправить?
А почему мы ввели run и контейнер не запустился в докере хотя он написал привет мир? Или если метод майн останавливается то контейнер так же завершает поток?
Спасибо
Ты лучший!
было бы классно разобрать это на примере С# или asp
Столкнулся с проблемой при команде БИЛД failed to solve with frontend dockerfile.v0: failed to create LLB definition: the Dockerfile cannot be empty Далее перепробовал все. Ничего не помогает. И в терминале заметил у вас стоит кодировка Bash, а у меня только powershell. Можете подсказать как это все исправить? Спасибо за уроки
У меня такая же проблема, ждём пояснения🤔
откройте файл в блокноте из проводника, он будет пустой, чтобы все хорошо запустилось, нужно нажать "сохранить", это как для докер файла, так и для java
Я в VScode нажал файл , автосохранение , и все сработало
нужно включить автосохранение
Помогло )
Привет. Хочу дать небольшой совет, как обычный зритель. Юскейс: мне понравилось видео, я включил весь плейлист. Смотрю очередное видео, мне очень нравится, думаю что досмотрю и обязательно поставлю лайк. А может и коммент напишу. Видео заканчивается(что понятно по предложению подписаться), я беру в руку телефон, чтоб поставить лайк, а там уже включилось следующее видео. Теперь, чтоб поставить лайк тому видео, мне надо свернуть это, где уже началось что-то интересное, открыть плейлист, найти предыдущее видео, включить его, поставить лайк и вернуться обратно на новое видео. Многие ли станут так париться? Просто поставят лайк новому видео, а старое останется без него. К чему я веду, нужна финальная заставка. 3, а лучше 5 секунд. Не слишком длинная, но чтоб можно было успеть схватить телефон и влепить класс 👍
Когда он говорит около 20 секунд в конце "подписываемся, ставим лайки блаблабла" можно спокойно успеть поставить лайк и переключиться на следующее видео
@@nakamasama я смотрю и другие каналы, на многих из них подписаться предлагают в середине, а то и несколько раз за видео. Потому эти фразы для меня не являются признаком конца видео. В любом случае, я не говорю, что все тормозят, как и я. Только описал свой случай и предположил, что я такой не один.
@@liosha2007 Я Вас понимаю. Про себя расскажу. Я тоже подписан на 125+ каналов и на всех подписаться просят и в начале, и в середине, и в конце видео. Поэтому это действительно не показатель. Однако лично у меня есть чуйка, когда видео заканчивается. Я не знаю, сколько длится видео, но по фразам типа "мы просмотрели", "мы проверили", "остальное будет в следующей серии" и т.д. (таких шаблонных фраз, если мозги поднапрячь, можно с три десятка вспомнить), я понимаю, что видео почти закончилось, ставлю лайк и перехожу на следующее видео, при чём до завершения видео остаётся от 10 до 60 секунд. Это столько авторы обсуждают после ролика, что они сделали в этом ролике и что планируют дальше. Я всегда это пропускаю.
Но я сам так не всегда делаю. Например, если видео открыто на фоне и я его слушаю, но при этом я занимаюсь ещё чем-то другим (играю в игры, что-то пишу), то я слушаю и окончание видео и только после того, как оно завершится, ставлю лайк и перехожу на следующее видео.
И ещё по поводу плей-листов. Можно просто выключить авто-воспроизведение. Тогда видео не будет переключаться. Вы спокойно успеваете поставить лайк и включить следующее видео. Мне легче и удобнее так, а когда видео само переключается - меня это бесит и раздражает. Кому-то одно нравится, кому-то второе. Это вкусовщина.
если нужно снести образ то можно командой docker rmi hash
ТЕ для кондейнера rm а для образа rmi
У меня вообще интересная ситуация получается: "failed to solve with frontend dockerfile.v0: failed to create LLB definition: the Dockerfile cannot be empty"
Нужно сохранить докер-файл и заново запустить build
Интереснооо .-.
Ставки на спорт 50 на 50 👍
Какую команду писать в RUN, если образ Nodeдля JS?
На 14:40 образ по итогу не удаляется, сначала нужно rm контейнеры, которые он использует
минут 15 искал где в Visual Studio Code приложения, оказалось что у меня Visual Studio (без Code) и такое бывает)
Спасибо . Сними еще про Кали линукс
Итого не удалялся образ как в команде, даже остановка контейнера не помогла который его использует, помогло удалить контейнер и затем удалить образ
Обязательно нажмите сохранить файл докер и отдельно файл джава, только после собирайте и запускайте!
ктонеть подскажите образ для ASP пжлста.. или для того чтобы запустить веб приложение на асп нужно еще образ операционной системы установить?
Всем привет. Подскажите, все делал как по уроку, а в репозитории у меня так не появился файл с таким же весом, как и openjdk. Какие либо расширения дополнительно нужно было устанавливать?
в процессе выполнения 'docker build .' никаких ошибок не вылезало?
Добрый день, не пойму у меня после команды docker run -p 3001:8001 b3b05af661be пишет что /bin/sh: [java,: command not found :((
CMD ["java", "Main"] java и Main должны бить в двойных кавычках
11:20
если не удалить созданный образ и ещё раз сделать docker build. создастся ещё один образ, который будет дочерним к первому?
Можете, пожалуйста, написать такой же код только для питона. Не понимаю, что нужно прописывать в run и cmd.
узнали?
нонче Remote - Containers называется Dev Containers
Изображение ??
максимально не удобно натягивать это видео на питон, если делаешь первый раз
расширение для VisualStudio - Remote Containers не найдено, ближайшее это Dev Containers (по описанию совпадает 100%)
если образ это blueprint, а контейнер непосредственно окружение в которой все работает. так может файлы будут скопированы в контейнер, а не в образ. а то я путаюсь.
похоже все же образ
тоесть image это файлы кода, разного кода, в том числе хоть операционки, если это убунту. грубо говоря файлы и папки на выключенном компе., конгтейнер всетаки среда исполнения, и если контейнер запущен это всеравно что включить комп.
да. название зря не указали)) погуглил docker build -t myapp - myapp собственно название.
где-то ж услашал что образ blueprint так и засело в голову. что-то важно пять дней подряд не можешь запомнить, а что-то мимолетное прям глубоко закапывается.
нажми на кнопку, получишь результат.
Вот не понял, зачем здесь папка java указывается в COPY и WORKDIR. Она ведь не используется в итоге.
Команда WORKDIRиспользуется для определения рабочего каталога контейнера Docker в любой момент времени. Команда указана в Dockerfile.
Любая RUN, CMD, ADD, COPYили ENTRYPOINTкоманда будет выполняться в указанном рабочем каталоге.
c 0:54 от куда те приложения скачивать? Ты обьясни нормально!
это редактор, можно notepad++ использовать вместо него
А можно допустим написать игру на каком-то языке для виндовс и запустить его на линукс с помощью докера?
Засунь винду в докер
Весь этот курс - издевательство какое-то. Клиент: я хочу построить спорткар своими руками. Помощник: - обучает как сделать деревянную повозку. Так и эти видеоуроки. Они бессмысленны. Никто не занимается докером ради приложения уровня "хелло ворлд". Человек который изучает докер - это программист который написал проект с кучей зависимостей, и хочет его запустить в докере. Соответственно у него млн вопросов из-за ошибок которые он получает но не знает что с ними делать. Например: я юзаю мавен, мне уже не подходит простой openjdk, который к тому же отказывается компилить проекты которые юзают java 21. Как вообще работать с зависимостями Spring? Selenium? как докеру понять что мне нужно не просто запустить javac main а мне нужно сраный мавен стартануть а тот должен запустить спринг, ну или наоборот, хер знает как оно там под капотом работает. И потом где эти директории которые прописываются типо /usr/src/app ....Где они? Их нет ни в докере, ни в его директории хранилища, ни в проекте... А после пары неудачных запусков докерфайла у меня - 9гб места на диске С, а докер показывает просто полурабочий образ весом 500мб. Что с этим делать? Почему докер жрет гигабайты быстрее чем я обучаюсь? ВОт на эти вопросы я хочу получить ответы изучая докер. А не вот это вот все....
Читаешь мои мысли дружище
ну неудвивтельно, что ты не можешь решить все эти проблемы, ведь ты даже прочитать текст внимательно не можешь, куда уже там докер. Курс называется "для начинающих". Что ты хочешь от него? С твоими вопросами только гуглить и искать инфу самостоятельно, а не курсы для начинающих смотреть.
@@ПаатаБалиашвили Докер априори начинающим не нужен. Все равно что в детском саду преподавать высшую математику, назвав курс - высшая математика для начинающих....
Хреновый ты программист, если даже не знаешь как все под капотом работает и не можешь понять для чего мавен и ботинок
@@АртемКазрагис Видимо я лучше тебя, раз я первым разобрался с докером и со всем остальным мусором который никак не влияет на мой заработок. А ты только ща посмотрел видос и отписал. Я уже проект успел доделать, задеплоить и получить деньги, пока ты тошнотворно изучал то, что в принципе не важно. 99.9% программистов не понимают почему компьютер понимает исключительно бинарный код, но как-то ж программируют... А я знаю, и дальше че? Мне кто-то заплатил хоть раз за эти знания? Нет. Вот и знание мавена и прочего шлака элементарно можно пропускать потому что за это не платят. Платят по факту конечного результата. Лучший айтишник это тот кто добивается результата так же как игроки спидраннеры. А все остальное вкусовщина. Хочешь знать - учи. Дело каждого.
Спасибо большое!
Тупейшее объяснение докерфайла. Ничего не понятно.
Зачем указать везде корневую папку. Покажи как работать, когда файл находится глубоко в проекте.
На винде можно запутаться со слэшами, но урок конечно записан на макОС, которого у большинства нет и никогда не будет, а под винду никаких оговорок не сказано.
Переслушал объяснение про RUN и CMD. Объяснено на отвали, каким то кривым языком. Попытка объяснить разницу выглядела как скорее попытка объяснить схожесть.
первый
второй
Четвёртый
Как по мне так неудачный пример для урока...
Блин, ну не джавак же, мои ушиииии, как же режет😂
Это же простой английский 1 класса - алфавит 😮
Мы же не говорим к++, мы говорим си++, поэтому джаваси))))
Английский первого класса тут не причем. Если javac и читается как джаваси, то только потому что "C" это коращение второго слова. Вы же не будете читать слова aztec, comic, Mac, как атстеси, комиси, маси. С точки зрения английского, он произнес как раз-таки правильно.