По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Вы забыли свой пароль пользователя root в Debian? Не волнуйтесь, мы покажем, как сбросить пароль root в Debian. Просто выполните следующие шаги и восстановите доступ и установите новый пароль root. Сброс пароля Запустите машину с Debian и нажмите любую клавишу, чтобы остановить процесс загрузки. Выберите “Debian GNU/Linux ” и нажмите клавишу “e” для редактирования параметров ядра в командной строке. Используйте клавишу «стрелка вниз» для прокрутки вниз. Перейдите к строке, которая начинается со слова linux и с помощью стрелок перейдите к концу строки или нажмите кнопку «end», а затем там (после quiet) добавьте init =/bin/bash. После добавления записи нажмите Ctrl + x или F10 для загрузки системы. Debian теперь загрузится в однопользовательском режиме, а корневая файловая система смонтирована в режиме только для чтения (read-only mode). Поэтому используйте команду ниже для монтирования корневой файловой системы в режиме чтения-записи (read-write mode). mount -o remount / Наконец, измените пароль пользователя root с помощью команды passwd. Тут указываем новый пароль и подтверждаем его. Перезагрузите систему и используйте новый пароль, который установили для пользователя root в вашей системе.
img
Linux черпал вдохновение из Unix, но Linux - это не Unix, хотя он определенно похож на Unix. Мы объясним основные различия между этими двумя известными операционными системами. Так в чем же разница? Linux - это бесплатное семейство операционных систем с открытым исходным кодом. Unix - это коммерческий продукт, предлагаемый различными поставщиками, каждый со своим вариантом, обычно предназначенным для своего собственного оборудования. Это дорогой и закрытый код. Но Linux и Unix делают примерно одно и то же, не так ли? Более-менее да. Тонкости несколько сложнее. Есть отличия помимо технических и архитектурных. Чтобы понять некоторые влияния, которые сформировали Unix и Linux, нам нужно понять их предысторию. Истоки Unix Unix более 50 лет. Он был разработан на языке ассемблера Digital Equipment Corporation (DEC) на DEC PDP/7 в качестве неофициального проекта в Bell Labs, в то время принадлежавшем AT&T. Вскоре он был перенесен на компьютер DEC PDP/11/20, а затем постепенно распространился на другие компьютеры Bell. Переписывание на язык программирования C привело к появлению в 1973 г. версии 4 Unix. Это было важно, потому что характеристики языка C и компилятора означали, что теперь переносить Unix на новые компьютерные архитектуры было относительно легко. В 1973 году Кен Томпсон и Деннис Ритчи представили на конференции доклад о Unix. В результате запросы на копии Unix хлынули в Bell. Поскольку продажа операционных систем выходила за рамки разрешенного объема деятельности AT&T, они не могли рассматривать Unix как продукт. Это привело к распространению Unix в виде исходного кода с лицензией. Номинальных затрат было достаточно, чтобы покрыть отгрузку и упаковку, а также «разумный гонорар». Unix пришла «как есть», без технической поддержки и исправлений ошибок. Но вы получили исходный код - и вы могли его изменить. Unix быстро завоевал популярность в академических учреждениях. В 1975 году Кен Томпсон провел творческий отпуск от Bell в Калифорнийском университете в Беркли. Вместе с некоторыми аспирантами он начал добавлять и улучшать их локальную копию Unix. Внешний интерес к дополнениям Berkeley вырос, что привело к выпуску первого выпуска Berkeley Software Distribution (BSD). Это был набор программ и модификаций системы, которые можно было добавить в существующую систему Unix, но это не была отдельная операционная система. Последующие версии BSD были целыми системами Unix. Теперь существовало две основных разновидности Unix: поток AT&T и поток BSD. Все другие варианты Unix, такие как AIX, HP-UX и Oracle Solaris, являются их потомками. В 1984 году были сняты некоторые ограничения для AT&T, и они смогли производить и продавать Unix. Затем Unix стала коммерциализированной. Начало Linux Рассматривая коммерциализацию Unix как дальнейшее разрушение свобод, доступных пользователям компьютеров, Ричард Столлман решил создать операционную систему, основанную на свободе. То есть свобода изменять исходный код, распространять модифицированные версии программного обеспечения и использовать программное обеспечение любым способом, который пользователь сочтет нужным. Операционная система должна была воспроизвести функциональность Unix без включения какого-либо исходного кода Unix. Он назвал операционную систему GNU и в 1983 году основал проект GNU Project для разработки этой операционной системы. В 1985 году он основал Фонд свободного программного обеспечения для продвижения, финансирования и поддержки проекта GNU. Все области операционной системы GNU достигли хорошего прогресса - кроме ядра. Разработчики проекта GNU работали над микроядром под названием GNU Hurd, но прогресс был медленным, (сегодня он все еще находится в разработке и приближается к выпуску.) Без ядра не было бы операционной системы. Основной управляющей программой Unix является его ядро. Ядро имеет полный контроль над всей системой. Он имеет подсистемы, которые предлагают услуги для обработки файловой системы, обработки ресурсов, управления памятью, запуска и остановки программ и нескольких других низкоуровневых основных задач. Ядро является сердцем ОС и действует как интерфейс между пользователем и оборудованием. Каждая подсистема ядра имеет определенные функции, такие как параллелизм, виртуальная память, подкачка и виртуальная файловая система. На внешних уровнях архитектуры у нас есть оболочка, команды и прикладные программы. Оболочка - это интерфейс между пользователем и ядром. Оболочка и пользователь вводят команды, интерпретируют эти команды и соответственно вызывают компьютерные программы. В 1987 году Эндрю С. Танебаум выпустил операционную систему MINIX (mini-Unix) в качестве учебного пособия для студентов, изучающих проектирование операционных систем. MINIX была функциональной Unix-подобной операционной системой, но имела некоторые ограничения, особенно в отношении файловой системы. В конце концов, исходный код должен быть достаточно маленьким, чтобы его можно было адекватно изучить за один университетский семестр. Некоторой функциональностью пришлось пожертвовать. Чтобы лучше понять внутреннюю работу Intel 80386 на своем новом ПК, студент-информатик Линус Торвальдс написал в качестве учебного упражнения простой код переключения задач. В конце концов, этот код стал элементарным прото-ядром, которое стало первым ядром Linux. Торвальдс был знаком с MINIX. Фактически, его первое ядро было разработано на MINIX с использованием компилятора GCC Ричарда Столлмана. Кто занимается разработкой? Дистрибутив Linux - это сумма множества различных частей, взятых из самых разных мест. Ядро Linux, набор основных утилит GNU и пользовательские приложения объединены для создания жизнеспособного дистрибутива. И кто-то должен заниматься этим объединением, обслуживанием и управлением - точно так же, как кто-то должен разрабатывать ядро, приложения и основные утилиты. Сопровождающие дистрибутива и сообщества каждого дистрибутива играют свою роль в создании дистрибутива Linux так же, как и разработчики ядра. Linux - это результат распределенных совместных усилий, выполняемых неоплачиваемыми добровольцами, такими организациями, как Canonical и Red Hat, а также отдельными лицами, спонсируемыми отраслью. Каждый коммерческий Unix разрабатывается как единое целое с использованием собственных или жестко контролируемых сторонних средств разработки. Часто они имеют уникальное ядро и разработаны специально для аппаратных платформ, поставляемых каждым поставщиком. Бесплатные производные потока BSD Unix с открытым исходным кодом, такие как FreeBSD, OpenBSD и DragonBSD, используют комбинацию устаревшего кода BSD и нового кода. Теперь они поддерживаются сообществом и управляются так же, как и дистрибутивы Linux. Также важно отметить, что Linux - это только ядро, а не полная ОС. Это ядро Linux обычно входит в состав дистрибутивов Linux, что делает его полноценной ОС. Дистрибутив Linux - это операционная система, созданная из набора программного обеспечения, построенного на ядре Linux, и система управления пакетами. Стандартный дистрибутив Linux состоит из ядра Linux, системы GNU, утилит GNU, библиотек, компилятора, дополнительного программного обеспечения, документации, оконной системы, оконного менеджера и среды рабочего стола. Таким образом, дистрибутивы Linux фактически делают ядро Linux полностью пригодным для использования в качестве операционной системы, добавляя к нему различные приложения. Существуют различные разновидности дистрибутивов Linux, которые обслуживают широкий спектр потребностей пользователей. Например, у нас есть ОС на базе OpenWrt Linux для встраиваемых устройств, Linux Mint для персональных компьютеров и Rocks Cluster Distribution для суперкомпьютеров. Всего существует около 600 дистрибутивов Linux. Или, например, популярная мобильная ОС Android от Google основана на Linux. Каждая итерация ОС Android построена на текущем ядре Linux. Стандарты и соответствие В общем, Linux не соответствует ни единой спецификации Unix (SUS), ни POSIX. Он пытается удовлетворить оба стандарта, не будучи зависим от них. Таие ОС называются Unix-подобными ОС (Unix-like, UN*X или *nix). Linux - это Unix-подобная операционная система с некоторыми изменениями в дизайне Unix. Было одно или два (буквально одно или два) исключения, такие как Inspur K-UX, китайский Linux, совместимый с POSIX. POSIX (Portable Operating System Interface — переносимый интерфейс операционных систем) — набор стандартов, описывающих интерфейсы между операционной системой и прикладной программой (системный API) Single UNIX Specification (SUS) — общее название для семейства стандартов, которым должна удовлетворять операционная система, чтобы называться «UNIX» Настоящий Unix, как и коммерческие предложения, соответствует требованиям. Некоторые производные BSD, включая все версии macOS, кроме одной, совместимы с POSIX. Имена вариантов, такие как AIX, HP-UX и Solaris, являются товарными знаками соответствующих организаций. MacOS - это сертифицированная ОС Unix. У него есть собственное ядро под названием XNU. MacOS используется в компьютерах Apple. Товарные знаки и авторское право Linux - зарегистрированная торговая марка Линуса Торвальдса. Linux Foundation управляет торговой маркой от его имени. Ядро Linux и основные утилиты выпускаются под различными общедоступными лицензиями GNU с «авторским левом». Исходный код находится в свободном доступе. Unix - зарегистрированная торговая марка Open Group. Он защищен авторским правом, проприетарен и имеет закрытый код. FreeBSD защищена авторским правом FreeBSD Project, и исходный код доступен. Различия в использовании С точки зрения пользовательского опыта, в командной строке нет большой видимой разницы. Из-за стандартов и соответствия POSIX программное обеспечение, написанное на Unix, может быть скомпилировано для операционной системы Linux с ограниченными усилиями по переносу. Например, скрипты оболочки можно использовать непосредственно в Linux во многих случаях с небольшими изменениями или даже без них. Некоторые утилиты командной строки имеют несколько разные параметры командной строки, но, по сути, на обеих платформах доступен один и тот же арсенал инструментов. Фактически, в IBM AIX есть AIX Toolbox для приложений Linux. Это позволяет системному администратору устанавливать сотни пакетов GNU (например, Bash, GCC и другие). Различные разновидности Unix имеют разные доступные графические интерфейсы пользователя (GUI), как и Linux. Пользователь Linux, знакомый с GNOME или Mate, сможет нащупать свой путь при первом знакомстве с KDE или Xfce. То же самое и с рядом графических интерфейсов пользователя, доступных в Unix, таких как Motif, Common Desktop Environment и X Windows System. Все они достаточно похожи, чтобы по ним мог ориентироваться любой, кто знаком с концепциями оконной среды с диалогами, меню и значками. Вы узнаете больше о различиях при администрировании систем. Например, есть разные механизмы инициализации. Производные от System V Unix и потоков BSD имеют разные системы инициализации. Бесплатные варианты BSD поддерживали схемы инициализации BSD. По умолчанию дистрибутивы Linux будут использовать систему инициализации, производную от Unix System V или systemd. Подробнее про различия Использование и операции Linux используется от малых до средних операций, в то время как ранее UNIX был единственным вариантом. Большинство поставщиков программного обеспечения перешли на Linux, поскольку это открытое программное обеспечение, которое свободно распространяется и предпочтительно для веб-служб и офисных операций. В большинстве случаев используется Linux, но бывают случаи, когда UNIX имеет преимущество. Как и на предприятиях, которые используют массивные симметричные многопроцессорные системы, UNIX - правильный выбор. Серьёзным конкурентом Linux какое-то была FreeBSD, но благодоря открытости Linux стал лидером мира свободного ПО. Основные характеристики Linux - это ядро, а Unix - это стандартизация. Есть ряд функций, которыми отличаются обе операционные системы, некоторые из них приведены ниже. Возможности UNIX: Это многопользовательская и многозадачная ОС. На серверах и рабочих станциях UNIX используется в качестве главной управляющей программы. Возможности Linux: Это многозадачная ОС, которая также поддерживает многопользовательские программы. Одна программа может иметь более одного процесса, и каждый из процессов может иметь более одного потока. На одном компьютере вы можете установить Linux, а также другую ОС, и обе ОС будут работать без сбоев. У него есть авторизованная учетная запись, поэтому отдельные учетные записи защищены. Безопасность Не существует полностью защищенной ОС, но если мы сравним Unix и Linux, мы увидим, что Linux гораздо более оперативно реагирует на ошибки и угрозы. Оба имеют одинаковые характеристики, такие как правильная сегментация домена в многопользовательской среде, есть система паролей, с помощью которой система шифруется и так далее. Преимущество открытой программной системы в том, что она находится в свободном доступе, что делает ее более защищенной от ошибок. Когда кто-либо из разработчиков видит ошибку в программном обеспечении, он может сообщить об этом кому угодно на форуме разработчиков. В случае Unix система не является открытым программным обеспечением, поэтому она имеет ограничения и гораздо более уязвима для угроз. Аппаратная архитектура Если мы увидим коммерческие версии Unix, то большинство из них поддерживает свои собственные аппаратные машины. Например. HP-UX поддерживает только компьютеры PA-RISC и Itanium, Solaris работает на SPARC и x86, который является процессором питания. Они подпадают под ограничения UNIX, и по этой причине производители Unix имеют преимущество в том, что они могут оптимизировать код и драйверы. В случае с Linux это не так. Linux был написан таким образом, чтобы он мог поддерживать максимальное количество машин. Есть несколько платформ и машин, на которых может работать Linux с поддержкой нескольких других устройств ввода-вывода. Здесь разработчики не знают, в какой системе будет установлено программное обеспечение, поэтому они не могут оптимизировать код. Ядро Процесс установки исправлений и компиляции различен для Linux и Unix. В Linux патч может быть выпущен на форуме, и конечный пользователь может установить его на свой компьютер. Этот патч также может редактироваться и изменяться конечным пользователем. Поскольку существует множество сред, поддерживающих приложения Linux, разработчики зависят от многих глаз, чтобы знать об ошибках и угрозах. Ядра выпускаются только в двоичной форме коммерческими поставщиками Unix. Если необходимо установить обновление, администратор должен дождаться, пока поставщик выпустит исправление в двоичной форме. Поддержка файловой системы Существует множество файловых систем, поддерживаемых Linux, тогда как в случае Unix он поддерживает меньшее количество систем. Ниже мы увидим некоторые файловые системы, поддерживаемые разными ОС. Linux - Jfs, Xfs, Btrfs, Ext2, Ext3, Ext4, FAT, FAT32, NTFS, devpts и так далее. Unix - ufs, xfs, zfs, jfs, hfs +, hfs и так далее. Доступность приложений Как упоминалось выше, Linux - это клон Unix. Таким образом, многие приложения одинаковы в обеих ОС. Некоторые похожие команды - cp, ls, vi и cc. Linux - это версия GNU, тогда как Unix основан на оригинальных инструментах. Но это не следует путать, поскольку некоторые поставщики Unix используют инструменты GNU в своих установках. Большинство поставщиков предоставляют эти инструменты в виде предварительно скомпилированных пакетов, которые устанавливаются или поставляются как дополнительный компонент. Все дистрибутивы Linux поставляются с набором приложений с открытым исходным кодом, и есть несколько других, свободно доступных для разработчиков и конечных пользователей. Таким образом, Unix также портировал эти приложения, и они доступны в коммерческой версии Unix. Поддержка Все версии Unix являются платными, а версии для Linux можно использовать бесплатно. Это также добавляет в Unix функцию, заключающуюся в том, что если кто-то купит Unix, он получит коммерческую поддержку. В случае с Linux у нас есть несколько открытых форумов, где пользователи могут задавать вопросы и предлагать лучшее решение. Linux более отзывчив, поскольку несколько конечных пользователей заявили, что форумы более отзывчивы, чем коммерческая техническая поддержка Unix. Сравнительная таблица Особенности Linux Unix Разработчик Вдохновленный MINIX (Unix-подобная ОС), Linux был первоначально разработан финско-американским инженером-программистом Линусом Торвальдсом. Поскольку это открытый исходный код, у нас есть разработчики сообщества для Linux. Первоначально полученный от AT&T Unix, он был разработан в Bell Labs Кеннетом Лэйном Томпсоном, Деннисом Ричи и тремя другими. Написано на C и другие языки программирования. C и язык ассемблера. Семейство ОС Unix-подобный (Unix-like) Unix Исходная модель Открытый исходный код Смешанный. Однако, традиционно с закрытым исходным кодом, немногие проекты Unix имеют открытый исходный код, включая ОС Illumos и ОС BSD (Berkley Software Distribution). Доступно на языках Многоязычный Английский Первый выпуск Linux новее по сравнению с Unix. Он был производным от Unix и был выпущен в сентябре 1991 года. Unix старше. Был выпущен в октябре 1973 года для сторонних организаций. До этого он использовался внутри Bell Labs с момента основания в 1970 году. Тип ядра Монолитное ядро Тип ядра варьируется. Он может быть монолитным, микроядерным и гибридным. Лицензия GNUv2 (Стандартная общественная лицензия GPL) и другие. Лицензирование различается. Некоторые версии являются проприетарными, другие - бесплатными / OSS. Официальный веб-сайт https://www.kernel.org/ http://opengroup.org/unix Пользовательский интерфейс по умолчанию Оболочка Unix CLI (интерфейс командной строки) и графический (система X Windows) Текстовый режим интерфейса По умолчанию оболочка - BASH (Bourne Again Shell). Более того, он совместим со многими интерпретаторами команд. Первоначально оболочка Bourne. Он также совместим со многими интерпретаторами команд. Стоимость Можно получить и использовать бесплатно. Существуют также платные версии Linux. Но, как правило, Linux дешевле Windows. Проприетарные операционные системы имеют разные структуры затрат, устанавливаемые продавцами, соответственно. Примеры Debian, Ubuntu, Fedora, Red Hat, Android и т. Д. IBM AIX, Solaris, HP-UX, Darwin, macOS X и т. Д. Архитектура Первоначально был создан для оборудования Intel x86, порты доступны для многих типов процессоров. Совместим с машинами PA и Itanium. Solaris также доступен на x86/x64. OSX - это PowerPC. Обнаружение и устранение угроз Поскольку Linux в основном управляется сообществом открытого исходного кода, над кодом работают многие разработчики в разных частях мира. Следовательно, в случае Linux обнаружение и устранение угроз происходит довольно быстро. Из-за проприетарной природы Unix пользователям необходимо дождаться соответствующих исправлений для исправления ошибок. Безопасность Как Linux, так и ОС на базе Unix обычно считаются очень хорошо защищенными от вредоносных программ. Это связано с отсутствием корневого доступа, быстрыми обновлениями и сравнительно низкой долей рынка (по сравнению с Windows). По состоянию на 2018 год широко распространенного Linux-вируса не было. Unix также считается очень безопасным. Заразить еще сложнее, так как источник тоже недоступен. В настоящее время для Unix нет активно распространяющегося вируса. Цена Linux бесплатный. Однако корпоративная поддержка доступна по цене. Unix не бесплатен. Однако некоторые версии Unix бесплатны для использования в целях разработки (Solaris). В среде для совместной работы Unix стоит 1407 долларов на пользователя, а Linux стоит 256 долларов на пользователя. Следовательно, UNIX очень дорогая. Заключение Unix очень стар и считается родителем всех операционных систем. Ядро Linux также является производным от Unix. Основное различие между операционными системами на основе Unix и Linux заключается не в части представления, а в том, как они работают внутри, то есть в основном в части ядра. Разница между ними также будет зависеть от того, какие именно версии Linux и Unix вы сравниваете. Также важно указать, что Linux (и многие другие Unix-подобные ОС) можно свободно получать и изменять, в то время как операционные системы Unix - нет. Стоимость всегда является основным вопросом при принятии решения, какую технологию использовать, и Linux имеет в этом отношении преимущество. Linux более гибкий и бесплатный по сравнению с настоящими системами Unix, и именно поэтому Linux стал более популярным. При обсуждении команд в Unix и Linux они не одинаковы, но очень похожи. Фактически, команды в каждом дистрибутиве одного и того же семейства ОС также различаются. В Solaris, HP, Intel и других используются Интернет-серверы Unix, рабочие станции и персональные компьютеры. В то время как Linux широко используется для компьютерного программного обеспечения и оборудования, игр, планшетов, мэйнфреймов и т.д. Есть исследования, которые говорят, что Linux за последние несколько лет развивается быстрее, чем любая другая ОС. Следовательно, в будущем Linux может оставить далеко позади установки UNIX.
img
Что это вообще такое? Docker Compose является инструментом для определения и запуска контейнерных приложений. С Compose вы получаете возможность настраивать службы используя файл YAML. С помощью одной команды Compose вы создаете и запускаете все службы в соответствии с вашей конфигурацией. Установка начинается с создания каталога проекта: $ mkdir composetest $ cd composetest Создайте файл под названием app.py и вставьте в него следующие данные: import time import redis from flask import Flask app = Flask(__name__) cache = redis.Redis(host='redis', port=6379) def get_hit_count(): retries = 5 while True: try: return cache.incr('hits') except redis.exceptions.ConnectionError as exc: if retries == 0: raise exc retries -= 1 time.sleep(0.5) @app.route('/') def hello(): count = get_hit_count() return 'Hello World! I have been seen {} times. '.format(count) В нашем случае название хоста - redis, который использует порт 6379. Создайте файл под названием needs.txt в каталоге вашего проекта и вставьте его в: flask Redis Теперь следует написать код для файла Dockerfile, содержащий все необходимые переменные для среды разработки. В каталоге вашего проекта создайте файл с именем Dockerfile (файл будет определять среду приложения) и вставьте следующее содержимое: FROM python:3.7-alpine WORKDIR /code ENV FLASK_APP app.py ENV FLASK_RUN_HOST 0.0.0.0 RUN apk add --no-cache gcc musl-dev linux-headers COPY requirements.txt requirements.txt RUN pip install -r requirements.txt COPY . . CMD ["flask", "run"] Определение сервисов осуществляется при создании файла с именем docker-compose.yml в каталоге вашего проекта со следующей информацией: version: '3' services: web: build: . ports: - "5000:5000" redis: image: "redis:alpine" На основании содержания файла происходит запуск двух сервисов: Web и Redis, а в дальнейшем вы можете вносить в этот файл различные БД и иную важную информацию. C помощью команды Compose создайте ваше приложение, после чего из каталога проекта запустите приложение, запустив docker-compose. Вот так: $ docker-compose up Creating network "composetest_default" with the default driver Creating composetest_web_1 ... Creating composetest_redis_1 ... Creating composetest_web_1 Creating composetest_redis_1 ... done Attaching to composetest_web_1, composetest_redis_1 web_1 | * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit) redis_1 | 1:C 17 Aug 22:11:10.480 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo redis_1 | 1:C 17 Aug 22:11:10.480 # Redis version=4.0.1, bits=64, commit=00000000, modified=0, pid=1, just started redis_1 | 1:C 17 Aug 22:11:10.480 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf web_1 | * Restarting with stat redis_1 | 1:M 17 Aug 22:11:10.483 * Running mode=standalone, port=6379. redis_1 | 1:M 17 Aug 22:11:10.483 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128. web_1 | * Debugger is active! redis_1 | 1:M 17 Aug 22:11:10.483 # Server initialized redis_1 | 1:M 17 Aug 22:11:10.483 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled. web_1 | * Debugger PIN: 330-787-903 redis_1 | 1:M 17 Aug 22:11:10.483 * Ready to accept connections Compose извлекает образ Redis, создавая образ для вашего приложения и запускает выбранные службы. В этом случае код копируется в образ во время сборки. Как вам такое? Теперь попробуйте ввести http://localhost:5000/ в браузере, чтобы чекнуть запущенное приложение. Если вы используете Docker для Linux, Docker Desktop для Mac или Docker Desktop для Windows, то теперь веб-приложение должно "смотреть" на порт 5000 на хосте Docker. Введите в своем веб-браузере адрес http://localhost:5000, чтобы увидеть сообщение Hello World. Если не сработает, вы также можете попробовать зайти на http://127.0.0.1:5000. Если вы используете Docker Machine на Mac или Windows, используйте ip MACHINE_VM docker-machine для получения IP-адреса вашего хоста Docker. Затем откройте http://MACHINE_VM_IP:5000 в браузере. Вы должны увидеть сообщение в своем браузере: Hello World! I have been seen 1 times. Переключитесь на другое окно терминала и введите docker image ls, чтобы вывести список локальных образов/контейнеров. Вывод на этом этапе должен показывать redis и web. $ docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE composetest_web latest e2c21aa48cc1 4 minutes ago 93.8MB python 3.4-alpine 84e6077c7ab6 7 days ago 82.5MB redis alpine 9d8fa9aa0e5b 3 weeks ago 27.5MB Важно: Вы можете просматривать запущенные контейнеры с помощью Docker Inspect Tag или ID Запустите docker-compose из каталога вашего проекта во втором терминале, либо нажмите CTRL + C в исходном терминале, где приложение уже запущено и отредактируйте файл Compose. Отредактируйте docker-compose.yml в каталоге вашего проекта для внесения той или иной правки в веб-службе version: '3' services: web: build: . ports: - "5000:5000" volumes: - .:/code environment: FLASK_ENV: development redis: image: "redis:alpine" Новый ключ редактирует каталог проекта на хосте внутри контейнера, что позволяет изменять код без необходимости перестраивать весь образ. Ключ среды устанавливает переменную FLASK_ENV, которая сообщает о запуске в режиме разработки и перезагрузке кода при изменении. Важно: этот режим должен использоваться только при разработке. В каталоге проекта введите docker-compose up, чтобы создать приложение с обновленным файлом Compose, и запустите его. $ docker-compose up Creating network "composetest_default" with the default driver Creating composetest_web_1 ... Creating composetest_redis_1 ... Creating composetest_web_1 Creating composetest_redis_1 ... done Attaching to composetest_web_1, composetest_redis_1 web_1 | * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit) … Поскольку код приложения теперь добавляется в контейнер с помощью тома, вы можете вносить изменения в его код и мгновенно просматривать изменения без необходимости перестраивать образ. Измените сообщение в app.py и сохраните его: Hello from Docker!: return 'Hello from Docker! I have been seen {} times. '.format(count) Обновите результат в вашем браузере (нажмите F5 или Ctrl + F5) . Приветствие должно быть обновлено, а счетчик должен увеличиваться. Вы можете поэкспериментировать с другими командами. Если вы хотите запускать свои службы в фоновом режиме, вы можете сделать следующее: docker-compose up and use docker-compose ps to see what is currently running: $ docker-compose up -d Starting composetest_redis_1... Starting composetest_web_1... $ docker-compose ps Name Command State Ports ------------------------------------------------------------------- composetest_redis_1 /usr/local/bin/run Up composetest_web_1 /bin/sh -c python app.py Up 5000->5000/tcp Команда docker-compose run позволяет вам применять одноразовые команды к вашим сервисов. Например, чтобы увидеть, какие переменные среды доступны для веб-службы: $ docker-compose run web env Выполните команду docker-compose –help, чтобы увидеть весь список доступных команд. Если вы запустили Compose с помощью docker-compose up -d, то нужно будет остановить ваши службы после работы с ними, для этого поможет команда ниже:$ docker-compose stop Если хотите полностью уничтожить контейнер, используйте команду down.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59