По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
В продолжение статьи про Docker, сегодня мы расскажем про Dockerfile — скрипт, который позволяет автоматизировать процесс построения контейнеров — шаг за шагом, используя при этом base образ. Докерфайлы и синтаксис для их создания Как уже было сказано выше, каждый Докерфайл — по сути скрипт, который автоматически выполняет определенные действия или команды в base образе, для формирования нового образа. Все подобные файлы начинаются с обозначения FROM — также как и процесс построения нового контейнера, далее следуют различные методы, команды, аргументы или условия, после применения которых получится Docker контейнер. Для начала, быстренько пройдемся по синтаксису — он, кстати говоря, крайне простой, с командами, говорящими самими за себя. В Докер файлах содержится два типа основных блоков — комментарии и команды с аргументами. Причем для всех команд подразумевается определенный порядок — подробнее об этом ниже. Ниже типичный пример синтаксиса, где первая строка является комментарием, а вторая — командой. # Print «Hello from Merionet!» RUN echo «Hello from Merionet!!» Перед тем, как переходить к собственно написанию собственно Докерфайла, сначала разберем все возможные команды. Все команды в Докерфайлах принято указывать заглавными буквами — к примеру RUN, CMD и т.д. Команда ADD — данная команда берет два аргумента, путь откуда скопировать файл и путь куда скопировать файлы в собственную файловую систему контейнера. Если же source путем является URL (т.е адрес веб-страницы) — то вся страница будет скачена и помещена в контейнер. # Синтаксис команды: ADD [исходный путь или URL] [путь назначения] ADD /my_merionet_app /my_merionet_app Команда CMD — довольно таки похожая на команду RUN, используется для выполнения определенных программ, но, в отличие от RUN данная команда обычно применяется для запуска/инициации приложений или команд уже после их установки с помощью RUN в момент построения контейнера. # Синтаксис команды: CMD %приложение% «аргумент», «аргумент», .. CMD «echo» «Hello from Merionet!». Команда ENTRYPOINT устанавливает конкретное приложение по умолчанию, которое используется каждый раз в момент построения контейнера с помощью образа. К примеру, если вы установили определенное приложение внутри образа и вы собираетесь использовать данный образ только для этого приложения, вы можете указать это с помощью ENTRYPOINT, и каждый раз, после создания контейнера из образа, ваше приложение будет воспринимать команду CMD, к примеру. То есть не будет нужды указывать конкретное приложение, необходимо будет только указать аргументы. #Синтаксис команды: ENTRYPOINT %приложение% «аргумент» # Учтите, что аргументы опциональны — они могут быть предоставлены командой CMD или #во время создания контейнера. ENTRYPOINT echo #Синтаксис команды совместно с CMD: CMD «Hello from Merionet!» ENTRYPOINT echo Команда ENV используется для установки переменных среды (одной или многих). Данные переменные выглядят следующим образом «ключ = значение» и они доступны внутри контейнера скриптам и различным приложениям. Данный функционал Докера, по сути, очень сильно увеличивает гибкость в плане различных сценариев запуска приложений. # Синтаксис команды: ENV %ключ% %значение% ENV BASH /bin/bash Команда EXPOSE используется для привязки определенного порта для реализации сетевой связности между процессом внутри контейнера и внешним миром — хостом. # Синтаксис команды: EXPOSE %номер_порта% EXPOSE 8080 Команда FROM — данную команду можно назвать одной из самых необходимых при создании Докерфайла. Она определяет базовый образ для начала процесса построения контейнера. Это может быть любой образ, в том числе и созданные вами до этого. Если указанный вами образ не найден на хосте, Докер попытается найти и скачать его. Данная команда в Докерфайле всегда должна быть указана первой. # Синтаксис команды: FROM %название_образа% FROM centos Команда MAINTAINER — данная команда не является исполняемой, и просто определяет значение поля автора образа. Лучше всего ее указывать сразу после команды FROM. # Синтаксис команды: MAINTAINER %ваше_имя% MAINTAINER MerionetNetworks Команда RUN - является основной командой для исполнения команд при написании Докерфайла. Она берет команду как аргумент и запускает ее из образа. В отличие от CMD данная команда используется для построения образа (можно запустить несколько RUN подряд, в отличие от CMD). # Синтаксис команды: RUN %имя_команды% RUN yum install -y wget Команда USER — используется для установки UID или имени пользователя, которое будет использоваться в контейнере. # Синтаксис команды: USER %ID_пользователя% USER 751 Команда VOLUME — данная команда используется для организации доступа вашего контейнера к директории на хосте (тоже самое, что и монтирование директории) # Синтаксис команды: VOLUME [«/dir_1», «/dir2» ...] VOLUME [«/home»] Команда WORKDIR указывает директорию, из которой будет выполняться команда CMD. # Синтаксис команды: WORKDIR /путь WORKDIR ~/ Создание своего собственного образа для установки MongoDB Для начала создадим пустой файл и откроем его с помощью vim: vim Dockerfile Затем мы можем указать комментариями для чего данный Докерфайл будет использоваться и все такое — это не обязательно, но может быть полезно в дальнейшем. На всякий случай напомню — все комментарии начинаются с символа #. ######## # Dockerfile to build MongoDB container images # Based on Ubuntu ######## Далее, укажем базовый образ: FROM ubuntu Затем, укажем автора: MAINTAINER Merionet_Translation После чего обновим репозитории(данный шаг совершенно необязателен, учитывая, что мы не будем их использовать ) : RUN apt-get update После укажем команды и аргументы для скачивания MongoDB (установку проводим в соответствии с гайдом на официальном сайте): RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 RUN echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | tee /etc/apt/sources.list.d/mongodb.list RUN apt-get update RUN apt-get install -y mongodb-10gen RUN mkdir -p /data/db После чего укажем дефолтный порт для MongoDB: EXPOSE 27017 CMD [«--port 27017»] ENTRYPOINT usr/bin/mongod Вот как должен выглядеть у вас финальный файл — проверьте и, затем, можно сохранить изменения и закрыть файл: ######### # Dockerfile to build MongoDB container images # Based on Ubuntu ######### FROM ubuntu MAINTAINER Merionet_Translation RUN apt-get update RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 RUN echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | tee /etc/apt/sources.list.d/mongodb.list RUN apt-get update RUN apt-get install -y mongodb-10gen RUN mkdir -p /data/db EXPOSE 27017 CMD ["--port 27017"] ENTRYPOINT usr/bin/mongod Запуск контейнера Docker Итак, мы готовы создать наш первый MongoDB образ с помощью Docker! sudo docker build -t merionet_mongodb . -t и имя здесь используется для присваивания тэга образу. Для вывода всех возможных ключей введите sudo docker build —help, а точка в конце означает что Докерфайл находится в той же категории, из которой выполняется команда. Далее запускаем наш новый MongoDB в контейнере! sudo docker run -name MerionetMongoDB -t -i merionet_mongodb Ключ -name используется для присвоения простого имени контейнеру, в противном случае это будет довольно длинная цифро-буквенная комбинация. После запуска контейнера для того, чтобы вернуться в систему хоста нажмите CTRL+P, а затем CTRL+Q. Заключение Всем спасибо за внимание, теперь вы можете очень много экспериментировать с созданием Докерфайлов и ваших собственных образов, не бойтесь пробовать упростить привычные вам процессы установки приложений с помощью контейнеров — возможности крайне велики, и мы постараемся охватить их в следующих статьях.
img
В этой заключительной статье о перераспределении маршрутов мы проверим работу Route redistribution с помощью IPv6 и увидим небольшое отличие в настройке routes redistributed IPv6 от routes redistributed IPv4. Предыдущие статьи из цикла: Часть 1. Перераспределение маршрутов (Route redistribution) Часть 2. Фильтрация маршрутов с помощью карт маршрутов Часть 3. Перераспределение маршрутов между автономными системами (AS) Перераспределение подключенных сетей Во-первых, рассмотрим маршрутизатор, выполняющий маршрутизацию, предположим, что используется протокол OSPF. Кроме того, предположим, что маршрутизатор имеет несколько интерфейсов, которые участвуют в маршрутизации OSPF. Представьте, что на этом же маршрутизаторе мы запускаем другой протокол маршрутизации (скажем, EIGRP), и мы делаем взаимное перераспределение маршрутов. Вот что удивительно. Если мы делаем перераспределение маршрута на этом маршрутизаторе, сети IPv4, связанные с интерфейсами этого маршрутизатора, участвующими в OSPF в нашем примере, будут перераспределены в EIGRP. Однако сети IPv6, будут вести себя по-другому. В частности, в сетях IPv6 мы должны ввести дополнительный параметр в нашу конфигурацию перераспределения маршрутов, явно указывая, что мы хотим перераспределить подключенные сети. В противном случае эти маршруты IPv6, связанные с непосредственно с подключенными интерфейсами, не перераспределяются. Логика такого поведения вытекает из понимания того, что для перераспределения маршрута данный маршрут должен появиться в таблице IP-маршрутизации маршрутизатора. Конечно, когда посмотрим таблицу IP-маршрутизации маршрутизатора и увидим непосредственно подключенные сети, эти сети отображаются как подключенные сети, а не сети, которые были изучены с помощью определенного протокола маршрутизации. В то время как route redistribution для IPv4 понимает, что сеть напрямую подключена, но участвует в процессе маршрутизации и поэтому будет перераспределена, route redistribution для IPv6 не делает такого предположения. В частности, если мы перераспределяем сети IPv6 из одного протокола маршрутизации в другой, эти сети должны отображаться в таблице маршрутизации IPv6 маршрутизатора вместе с указанием, что они были изучены с помощью перераспределяемого протокола маршрутизации. Конечно, мы можем добавить дополнительный параметр к нашей команде redistribute, чтобы заставить эти непосредственно подключенные сети IPv6 (участвующие в распространяемом протоколе) также быть перераспределенными. Эта настройка будет продемонстрирована немного позже. Перераспределение в OSPF В прошлой статье мы обсуждали потенциальную проблему, с которой вы можете столкнуться при распространении в OSPF (в зависимости от вашей версии Cisco IOS). Проблема была связана с подсетями. В частности, по умолчанию в более старых версиях Cisco IOS OSPF только перераспределяет классовые сети в OSPF, если мы не добавим параметр subnets к команде redistribute. Добавление этого параметра позволило перераспределить сети в OSPF, даже если у них не было классовой маски. Пожалуйста, имейте в виду, что последние версии Cisco IOS автоматически добавляют параметр подсети, не требуя от вас ручного ввода. Однако параметр подсети в IPv6 route redistribution отсутствует. Причина в том, что IPv6 не имеет понятия о подсетях. Пример route redistribution IPv6 Чтобы продемонстрировать перераспределение маршрутов IPv6, рассмотрим следующую топологию: Протоколы маршрутизации OSPFv3 и EIGRP для IPv6 уже были настроены на всех маршрутизаторах. Теперь давайте перейдем к маршрутизатору CENTR и настроим взаимное route redistribution между этими двумя автономными системами. Убедимся в этом, проверив таблицу маршрутизации IPv6 маршрутизатора CENTR. Приведенные выше выходные данные показывают, что мы изучили две сети IPv6 через OSPF, две сети IPv6 через EIGRP, а CENTR напрямую подключен к двум сетям IPv6. Далее, давайте настроим взаимное перераспределение маршрутов между OSPFv3 и EIGRP для IPv6. CENTR # conf term Enter configuration commands, one per line. End with CNTL/Z. CENTR (config)# ipv6 router eigrp 1 CENTR (config-rtr) # redistribute ospf 1 metric 1000000 2 255 1 1500? include-connected Include connected match Redistribution of OSPF routes route-map Route map reference cr CENTR (config-rtr) #redistribute ospf 1 metric 1000000 2 255 1 1500 include-connected CENTR (config-rtr) #exit CENTR (config) # ipv6 router ospf 1 CENTR (config-rtr) #redistribute eigrp 1? include-connected Include connected metric Metric f or redistributed routes metric-type OSPF/IS-IS exterior metric type for redistributed routes nssa-only Limit redistributed routes to NSSA areas route-map Route map reference tag Set tag for routes redistributed into OSPF cr CENTR (config-rtr) #redistribute eigrp 1 include-connected CENTR (config-rtr) #end CENTR# Обратите внимание, что конфигурация взаимного перераспределения маршрутов, используемая для маршрутов IPv6, почти идентична нашей предыдущей конфигурации для перераспределения маршрутов IPv4. Однако для обеих команд перераспределения был указан параметр include-connected. Это позволило маршрутизатору CENTR перераспределить сеть 2003::/64 (непосредственно подключенную к интерфейсу Gig0/1 маршрутизатора CENTR и участвующую в OSPF) в EIGRP. Это также позволило маршрутизатору CENTR перераспределить сеть 2004::/64 (непосредственно подключенную к интерфейсу Gig0/2 маршрутизатора CENTR и участвующую в EIGRP) в OSPF. Чтобы убедиться, что наша конфигурация рабочая, давайте перейдем на оба маршрутизатора OFF1 и OFF2, убедившись, что каждый из них знает, как достичь всех шести сетей IPv6 в нашей топологии. Вышеприведенные выходные данные подтверждают, что маршрутизаторы OFF1 и OFF2 знают о своих трех непосредственно связанных маршрутах и трех маршрутах, перераспределенных в процессе маршрутизации. Итак, как мы видим, что когда речь заходит о routes redistributed IPv6, то не так уж много нового нужно узнать по сравнению с routes redistributed IPv4.
img
Компания Citrix предлагает сервера, приложения, виртуализацию, сетевые решения, программное обеспечение как услугу (SaaS) и облачные вычисления для бизнес-индустрии по всему миру. За плечами компании Citrix – богатая история помощи бизнесу достижения высоких позиций на рынке, а также продаж значительной части линейки продуктов LogMeIn в начале 2017 года. История Citrix Citrix Systems Inc – это американская компания, специализирующаяся на разработке программного обеспечения и приложений для облачных вычислений. Компания, основанная в 1989 году Эдом Якобуччи, бывшим сотрудником IBM, была известна как Citrus. Изначальный штаб сотрудников состоял из пяти инженеров, а в проект было инвестировано 3 миллиона долларов. Вынужденная сменить название после иска о нарушении прав на товарный знак, компания примкнула к бренду UNIX, чтобы создать имя, под которым она известна сейчас. После этого компания осуществила первую аренду средств удаленного доступа для оборудования, работающего под управлением ОС Windows, разработанной Microsoft. Вскоре после этого компания перешла на разработку тонких клиентов, использовавшихся для удаленного доступа к серверам. Технология, которая позволила Citrix создать набор приложений для удаленного доступа, была разработана после присоединения ExpertCity и Sequoia Software в 2001 году. По мере того, как компания Citrix присоединяла к себе другие компании, она расширяла свои возможности в сфере виртуализации настольного компьютера и серверов, увеличивая при этом число обслуживаемых клиентов. Идеальная площадка для запуска продуктов в области программного обеспечения как услуги (SaaS) и инфраструктуры как услуги (IaaS) Citrix обязана своим появлением технологии создания облаков. Несмотря на то, что компания Citrix сконцентрировалась на разработке приложений по виртуализации, ассортимент фирмы GoTo, включая GoToAssist, GoToMeeting, GoToMyPC, объединенный в самостоятельное направление, стал широко использоваться среди бизнес-пользователей. LogMeIn объявили о слиянии с Citrix в 2016 году, когда обе компании приобрели 50% долю в семействе GoTo, при этом средства для работы с удаленного доступа LogMeIn перешли на новый уровень интеграции со средствами для работы с удаленным настольным компьютером Citrix. Штаб-квартира компании находится в Форт-Лодердейле, штат Флорида, и в Санта-Кларе, штат Калифорния. У Citrix также есть офисы в Роли (Северная Каролина), Австралии, Индии, Японии и Великобритании. Компании, поглощенные Citrix За 29-летнюю историю компания Citrix поглотила более 50 компаний, большинство из которых пополнили существующий ряд продуктов или помогли расширить зону влияния компании, не приводя к какой-либо радикальной диверсификации. Первое поглощение состоялось спустя восемь лет после основания компании Citrix. Это была покупка австралийской фирмы DataPac, помогшей компании Citrix закрепиться в Азиатско-Тихоокеанском регионе (АТР). За последовавшее десятилетие компания Citrix сделала несколько важных приобретений, послуживших основой для запуска некоторых ключевых продуктов, в том числе Expercity, в 2004 году. Expercity повлекли за собой развитие комплекта GoTo-Netscaler в 2005 году, а в 2007 - XenSource, под чьим именем были выпущены XenApp и XenDesktop. Одним из недавних приобретений компании была Cedexis, купленная в феврале 2018 года. Компания Citrix купила ее для «оптимизации производительности приложений и контента в мире гибридных мульти-облачных вычислений», как говорится в заявлении генерального директора по разработке продукции. Последнее на данный момент поглощение платформы для микро-приложений Sapho было завершено в 2018 году и обошлось компании в 200 миллионов долларов. Компания Citrix планирует напрямую внедрить технологию Sapho, чтобы повысить осведомленность сотрудников. Между тем Стив Шах, вице-президент по управлению продуктами, прокомментировал это так: «IT-специалисты будут способны реагировать быстрее и действовать лучше при устранении неполадок в сети, управлении нагрузкой облаков и обработке изменений емкости в соответствии с нуждами бизнеса. Более того, IT-отдел сможет сократить сетевые и облачные расходы, обеспечивая при этом наилучшее качество взаимодействия с пользователем». Что продает Citrix? Все продукты Citrix можно разделить на три линии: Workspace, Networking и Analytics. До масштабного ребрендига, состоявшегося в мае 2018 года, всего через несколько дней после ежегодного мероприятия Synergy, компания так же предлагала приборы для удаленного доступа под брендом Xen. Эти продукты, известные ранее как XenApp, XenDesktop и XenMobile, сейчас переименованы в Citrix Virtual Apps, Citrix Virtual Desktops и Citrix Endpoint Management соответственно, теперь подпадают под Citrix Workspace наряду с Citrix Hypervisor, ранее XenServer, и Citrix Content Collaboration, ранее ShareFire, среди прочих продуктов. Virtual Apps обеспечивают поддержку для приложений, Virtual Desktops поддерживают удаленный доступ к рабочему столу. Hypervisor - это платформа для виртуализации серверов, обеспечивающая лучшую производительность приложений и настольных ПК. Endpoint Management, входящая в эту ветвь производства Citrix, является гарантом мобильности компании. Content Collaboration - это продукт Citrix для синхронизации и обмена файлами, помогающий компаниям обмениваться контентом локально и в облаке с другими сотрудниками, такими как коллеги и клиенты. Компания Citrix также предлагает ряд сетевых продуктов, которые она приобрела у Netscaler - название, существование которого также прекратилось в процессе ребрендинга 2018 года. Citrix Networking, вторая линия продуктов, включает Citrix ADC, Citrix Web App Firewall, Citrix Gateway, Citrix Application Delivery Management, Citrix SD-WAN. Все они способны помочь предприятиям работать лучше. Их можно задействовать и в центре обработки данных, и в филиале, и в облаке и на мобильном телефоне. Citrix Analytics, третья линия продуктов, применяет машинное обучение для обеспечения анализа поведения пользователей и проактивного анализа безопасности. Продукты этой линии собирают данные по всему портфелю Citrix, генерируя действенные идеи, позволяющие администраторам обрабатывать угрозы безопасности пользователей и приложений, отслеживая потенциальные уязвимые места в организации. Citrix на бизнес-арене Citrix является публичной компанией, котирующейся на фондовой бирже NASDAQ. Результаты за четвертый квартал 2017 года показали рост выручки на 6% по сравнению с аналогичным периодом прошлого года (778 миллионов долларов США против 735 миллионов долларов США). Большая часть этого роста была обеспечена подразделением «Программное обеспечение как услуга» (рост на 38% в годовом исчислении) и профессиональными услугами (рост на 13% в годовом исчислении). В целом за 2017 год годовой доход составил 2,82 млрд. долларов против 2,74 млрд долларов в 2016 году, увеличившись на 3%. Большая часть этого роста также пришлась на подразделение SaaS (рост на 31% в годовом исчислении). Операционная маржа компании по GAAP за год составила 20%. В 2018 году компания частично опровергла ожидания аналитиков в отношении чистой выручки, составляющей от 2,86 млрд. До 2,88 млрд. долларов, зафиксировав годовой доход в размере 2,97 млрд. долларов, равный увеличению на 5%. Это проявилось в 4% -ном снижении доходов от продуктов и лицензий по сравнению с аналогичным периодом прошлого года, и в увеличении количества подписок на 45%. Между тем, доходы от поддержки и услуг выросли на 2%. Цена на акции Citrix резко выросла к концу 2019 года, достигнув рекордной отметки в 128 долларов 23 января этого года, немного снизившись в продолжении.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59