По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
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
Мы подумали, а почему бы не консолидировать все знания по Cisco VoIP продуктам и их настройке в единый документ? Добавить в них советы, пошаговые руководства, полезные хинты и просто прожитый опыт наших инженеров? Так на свет родилось руководство администратора CUCM (Cisco Unified Communications Manager) и CME (Call Manager Express). Итак, встречайте - 317 страниц полезного чтива в формате PDF. Сохрани себе, поделись с коллегами. Получившееся руководство администратора Cisco UCM/CME можно получить по ссылке ниже: Скачать
img
Во всем мире умные города являются неотъемлемой частью устойчивого развитие общества. Основные концепции системы "Умный город": Контроль дорожного движения; Управление муниципальным транспортом; Управление общественным транспортом; Управление парковками. Умные города гарантируют, что их граждане доберутся от точки "А" до точки "Б" максимально безопасно и эффективно. Для достижения этой цели муниципалитеты обращаются к разработке IoT (Internet of Things) и внедрению интеллектуальных транспортных решений. Интеллектуальные дорожные решения используют различные типы датчиков, а также извлекают данные GPS из смартфонов водителей для определения количества, местоположения и скорости транспортных средств. В то же время интеллектуальные светофоры, подключенные к облачной платформе управления, позволяют отслеживать время работы "зеленого света" и автоматически изменять огни в зависимости от текущей дорожной ситуации для предотвращения заторов на дороге. Примеры концепций системы "Умного города": Смарт-паркинг С помощью GPS-данных система автоматически определяет, заняты ли места для парковки или доступны, и создают карту парковки в режиме реального времени. Когда ближайшее парковочное место становится бесплатным, водители получают уведомление и используют карту на своем телефоне, чтобы найти место для парковки быстрее и проще, а не заниматься поиском парковочного места вслепую. Служебные программы Умные города позволяют гражданам экономить деньги, предоставляя им больше контроля над своими домашними коммунальными услугами. IoT обеспечивает различные подходы к использованию интеллектуальных утилит: Смарт-счетчики и выставление счетов; Выявление моделей потребления; Удаленный мониторинг. Искусственный интеллект Искусственный интеллект становится ведущим драйвером в цифровой трансформации экономики и социальной жизни. Социальная организация производства и предоставления услуг меняются. Рутинные операции выполняются роботами. Решения принимаются на основе искусственного интеллекта. С помощью него можно предотвратить управленческие ошибки и облегчить принятие решений во всех сферах городского хозяйства и управления. Преобладание цифровых документов над бумажными Реализация этой концепции позволяет городу в полной мере использовать все преимущества цифровых технологий: Оказание государственных услуг более прозрачное; Оптимизация административных процедур; Наиболее эффективное использование ресурсов. Промышленность Реализация проектов по комплексному онлайн-мониторингу промышленных объектов. Благодаря данной системе, можно контролировать состояние системы, управлять ей, а также получать статистику. Транспорт Данные от датчиков IoT могут помочь выявить закономерности того, как граждане используют транспорт. Чтобы провести более сложный анализ, интеллектуальные решения для общественного транспорта могут объединить несколько источников, таких как продажа билетов и информация о движении. Благодаря реализации данного направления можно осуществлять мониторинг транспортной инфраструктуры и мониторинг транспортных средств. Современные решения способны существенно повысить эффективность грузоперевозок, а также оптимизировать работу железнодорожных путей и дорожного покрытия, следя за температурой и влажностью. Известные уязвимости представленных систем В настоящее время происходит рост технологических возможностей, а также рост разнообразия различных электронных устройств и оборудования, используемых в автоматизированных системах управления, всё это ведет к повышению количества уязвимостей к данным системам. В добавок ко всему, процесс введения в эксплуатацию различных решений не дает стопроцентной гарантии того, что не будут допущены различные ошибки в глобальном проектировании. Это создает вероятность появления дополнительных архитектурных уязвимостей. Злоумышленники могут воспользоваться известными проблемами с безопасностью компонентов жизнеобеспечения в системах автоматизации и предпринять попытку реализации атаки. Такие действия злоумышленников могут прервать нормальную работу такого масштабного объекта, как, например, аэропорт, повлечь за собой вывод из нормальной работы системы жизнеобеспечения, блокируя систему безопасности. И, будучи незамеченными вовремя, способны привести к непоправимым последствиям. Большинство систем не защищено от попыток внедрения. Обычно все решения в области защиты систем реализуются на уровне межсетевого экрана. Но в случае с попытками атаки на столь критичные системы этого оказывается недостаточно. Роль информационной безопасности для экосистем Информационная безопасность связана с внедрением защитных мер от реализации угрозы несанкционированного доступа, что является частью управления информационными рисками и включает предотвращение или уменьшение вероятности несанкционированного доступа. Основной задачей информационной безопасности является защита конфиденциальности, целостности и доступности информации, поддержание продуктивности организации часто является важным фактором. Это привело к тому, что отрасль информационной безопасности предложила рекомендации, политики информационной безопасности и отраслевые стандарты в отношении паролей, антивирусного программного обеспечения, брандмауэров, программного обеспечения для шифрования, юридической ответственности и обеспечения безопасности, чтобы поделиться передовым опытом. Информационная безопасность достигается через структурированный процесс управления рисками, который: Определяет информацию, связанные активы и угрозы, уязвимости и последствия несанкционированного доступа; Оценивает риски; Принимает решения о том, как решать или рассматривать риски, т. е. избегать, смягчать, делиться или принимать; Отслеживает действия и вносит коррективы для решения любых новых проблем, изменений или улучшений. Типы протоколов для системы управления "Умным городом" Протоколы и стандарты связи при организации Интернета вещей можно в широком смысле разделить на две отдельные категории. Сетевые Протоколы Интернета Вещей Сетевые протоколы Интернета вещей используются для подключения устройств по сети. Это набор коммуникационных протоколов, обычно используемых через Интернет. При использовании сетевых протоколов Интернета вещей допускается сквозная передача данных в пределах сети. Рассмотрим различные сетевые протоколы: NBIoT (Narrowband Internet of Things) Узкополосный IoT или NB-IoT это стандарт беспроводной связи для Интернета вещей (IoT). NB-IoT относится к категории сетевых стандартов и протоколов маломощных глобальных сетей (LPWAN low power wide area network), позволяющих подключать устройства, которым требуются небольшие объемы данных, низкая пропускная способность и длительное время автономной работы. LoRaWan (Long Range Wide Area Network) глобальная сеть дальнего радиуса действия Это протокол для работы устройств дальнего действия с низким энергопотреблением, который обеспечивает обнаружение сигнала ниже уровня шума. LoRaWan подключает аккумуляторные устройства по беспроводной сети к интернету, как в частных, так и в глобальных сетях. Этот коммуникационный протокол в основном используется умными городами, где есть миллионы устройств, которые функционируют с малой вычислительной мощностью. Интеллектуальное уличное освещение это практический пример использования протокола LoRaWan IoT. Уличные фонари могут быть подключены к шлюзу LoRa с помощью этого протокола. Шлюз, в свою очередь, подключается к облачному приложению, которое автоматически управляет интенсивностью лампочек на основе окружающего освещения, что помогает снизить потребление энергии в дневное время. Bluetooth Bluetooth один из наиболее широко используемых протоколов для связи на короткие расстояния. Это стандартный протокол IoT для беспроводной передачи данных. Этот протокол связи является безопасным и идеально подходит для передачи данных на короткие расстояния, малой мощности, низкой стоимости и беспроводной связи между электронными устройствами. BLE (Bluetooth Low Energy) это низкоэнергетическая версия протокола Bluetooth, которая снижает энергопотребление и играет важную роль в подключении устройств Интернета вещей. ZigBee ZigBee это протокол Интернета вещей, что позволяет смарт-объекты, чтобы работать вместе. Он широко используется в домашней автоматизации. Более известный для промышленных установок, ZigBee используется с приложениями, которые поддерживают низкоскоростную передачу данных на короткие расстояния. Уличное освещение и электрические счетчики в городских районах, которые обеспечивают низкое энергопотребление, используют коммуникационный протокол ZigBee. Он также используется с системами безопасности и в умных домах и городах. Протоколы передачи данных Интернета Вещей Протоколы передачи данных IoT используются для подключения маломощных устройств Интернета вещей. Эти протоколы обеспечивают связь точка-точка с аппаратным обеспечением на стороне пользователя без какого-либо подключения к интернету. Подключение в протоколах передачи данных IoT осуществляется через проводную или сотовую сеть. К протоколам передачи данных Интернета вещей относятся: MQTT (Message Queuing Telemetry Transport) телеметрический транспорт очереди сообщений Один из наиболее предпочтительных протоколов для устройств Интернета вещей, MQTT собирает данные с различных электронных устройств и поддерживает удаленный мониторинг устройств. Это протокол подписки/публикации, который работает по протоколу TCP, что означает, что он поддерживает событийный обмен сообщениями через беспроводные сети. CoAP (Constrained Application Protocol) CoAP это протокол интернет-утилиты для функционально ограниченных гаджетов. Используя этот протокол, клиент может отправить запрос на сервер, а сервер может отправить ответ обратно клиенту по протоколу HTTP. Для облегченной реализации он использует протокол UDP (User Datagram Protocol) и сокращает использование пространства. AMQP (Advanced Message Queuing Protocol) расширенный протокол очереди сообщений AMQP это протокол уровня программного обеспечения для ориентированной на сообщения среды промежуточного программного обеспечения, обеспечивающий маршрутизацию и постановку в очередь. Он используется для надежного соединения точка-точка и поддерживает безопасный обмен данными между подключенными устройствами и облаком. AMQP состоит из трех отдельных компонентов, а именно: обмена, очереди сообщений и привязки. Все эти три компонента обеспечивают безопасный и успешный обмен сообщениями и их хранение. Это также помогает установить связь одного сообщения с другим. Протокол AMQP в основном используется в банковской отрасли. Всякий раз, когда сообщение отправляется сервером, протокол отслеживает сообщение до тех пор, пока каждое сообщение не будет доставлено предполагаемым пользователям/адресатам без сбоев. M2M (Machine-to-Machine) протокол связи между машинами Это открытый отраслевой протокол, созданный для обеспечения удаленного управления приложениями устройств Интернета вещей. Коммуникационные протоколы М2М являются экономически эффективными и используют общедоступные сети. Он создает среду, в которой две машины взаимодействуют и обмениваются данными. Этот протокол поддерживает самоконтроль машин и позволяет системам адаптироваться к изменяющимся условиям окружающей среды. Коммуникационные протоколы M2M используются для интеллектуальных домов, автоматизированной аутентификации транспортных средств, торговых автоматов и банкоматов. XMPP (eXtensible Messaging and Presence Protocol) расширяемый протокол обмена сообщениями и информацией о присутствии XMPP имеет уникальный дизайн. Он использует механизм для обмена сообщениями в режиме реального времени. XMPP является гибким и может легко интегрироваться с изменениями. XMPP работает как индикатор присутствия, показывающий состояние доступности серверов или устройств, передающих или принимающих сообщения. Помимо приложений для обмена мгновенными сообщениями, таких как Google Talk и WhatsApp, XMPP также используется в онлайн-играх, новостных сайтах и голосовом стандарте (VoIP). Протоколы Интернета вещей предлагают защищенную среду для обмена данными. Очень важно изучить потенциал таких протоколов и стандартов, так как они создают безопасную среду. Используя эти протоколы, локальные шлюзы и другие подключенные устройства могут взаимодействовать и обмениваться данными с облаком.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59