По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
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.
img
C появлением термина «виртуализация», множество компаний начали массово мигрировать свой серверный ресурс с аппаратной на виртуальную платформу. В данной статье мы попробуем разобраться, что такое «виртуализация» и какие плюсы она несет в себе. Современному бизнесу ежедневно приходится иметь дело с различными приложениями, будь то сервер CRM, корпоративный каталог (Active Directory) или сервер базы данных и т.д. В 8 из 10 случаев, серверный ландшафт имеет свойства гетерогенной среды, т.е каждое приложение имеет свою собственную операционную систему и нуждается в отдельном сервере. При условии дальнейшего масштабирования предприятия, крайне неэффективно и дорого продолжать закупку серверов. На помощь приходит «виртуальный сервер», или, как чаще говорят – «виртуальная машина». Основной идеей виртуализации является развертывание различных приложений, с разными операционными системами поверх одного физического сервера. В тоже время, все виртуальные машины имеют функционал, аналогичный функционалу при развертывании на аппаратном сервере. Ведущие вендоры в области виртуализации на сегодняшний день, это VMware, Hyper-V и Cirtix. Лидером по разработке виртуальных решений является VMware. Централизованное и удобное управление через VCenter, облегчает работу администратора в несколько раз. У VMware разработан свой гипервизор – ESX(i). Гипервизор (Hypervisor) - важнейший компонент виртуализации, отвечающий за обеспечение существования нескольких виртуальных машин поверх разных операционных систем на одном физическом сервере. На рисунке ниже, схематически изображен принцип виртуализации. Виртуализация серверов от компании Мерион Нетворкс Помимо повышения эффективности использования IT – инфраструктуры, снижения затрат на покупку оборудования и найм персонала, хочется перечислить следующие преимущества виртуализации серверов: Замена аппаратной составляющей на программное обеспечение Незачем тратить юнит в стойке, можно развернуть виртуальную машину. Унификация управления Вы получаете централизованное управление всеми виртуальными серверами, что облегчает деятельность соответствующего персонала. Снижение затрат на электроэнергию и охлаждение серверной комнаты За счет уменьшения единиц серверного оборудование происходит снижение тепловыделения. Консолидация управления операционными системами с помощью гипервизора Возможность проводить апгрейд сервера не затрагивая приложения и не совершая перезагрузку Возможность резервирования и создания отказоустойчивой конфигурации (snapshot) Удобные средства для мониторинга перформансов в реальном времени
img
Говоря техническим языком, Институт инженеров электротехники и электроники (Institute of Electrical and Electronics Engineers, IEEE) определяет Ethernet как стандарт группы 802.3. Воу - воу, слишком сложно. В этой статье мы объясним термин Ethernet простым языком, так как он стал действительно популярным даже среди непрофессионального сообщества. Видео: Ethernet на пальцах Обобщенно про Ethernet Скажем прямо - Ethernet это стандарт, который относится только к построению локальных сетей LAN (Local Area Network). Локальная сеть мала, в отличие от старшего брата WAN (Wide Area Network), которую еще называют глобальной сетью. Локальная сеть у вас дома, в офисе, то есть на любой небольшой территории. Именно локальная сеть - один из основных идентификаторов наличия Ethernet. В терминах семиуровневой модели OSI (если не знаете про нее, почитайте, это интересно!), стандарт Ethernet живет на первом и на втором уровнях. На первом уровне описаны способы передачи электрических, оптических и беспроводных (радио, например) сигналов, а на втором формирование кадров (фреймов). И тут мы делаем вывод: Ethernet - это набор описаний способов физической передачи сигналов (электричество) на первом уровне модели OSI и формирования кадров (фреймов) на втором уровне модели OSI внутри локальных сетей LAN. А сейчас важное уточнение: Ethernet относится только к проводным сетям. Многим миллениалам и представителям поколения Z кажется, что подключение по проводу - это своего рода “некромантия”. Однако это не так, и сейчас мы объясним почему. Ethernet “по полочкам” Скорость Технология “Эзернет” разработана в 1970. Поэтому, сам по себе стандарт Ethernet имеет скорость 10 Мбит/с. Мало, согласитесь? Вот и мы так думаем. В 1995 году на свет появился стандарт Fast Ethernet, к которому мы все так привыкли и который работает в большинстве домашних “локалок”. Не трудно догадаться - его скорость 100 Мбит/с В 1999 году, благодаря технологическому “рывку”, на свет появился Gigabit Ethernet, который уже поддерживает подключения скоростью 1000 Мбит/с или 1 Гбит/с. Отметим, что “гигабитными” линками зачастую в корпоративных сетях подключает даже сервера. Линком в профессиональной среде называют канал подключения того или иного узла. Фраза “подключил к свичу сервер гигабитным линком” означает, что коллега подключил кабелем UTP сервер к коммутатору по стандарту Gigabit Ethernet. И пожалуй финалочку по скорость: впервые в 2002 году IEEE опубликовал стандарт 802.3ae, в котором описал 10 Gigabit Ethernet, или как его еще называют 10GE, 10GbE и 10 GigE. Догадаетесь, на какой скорости он работает? 😉 Кабели Еще раз подчеркнем - Ethernet описывает только проводные подключения. Сейчас наиболее популярен кабель UTP 5 категории (CAT 5). Вы спросите, почему UTP? Unshielded Twisted Pair, ответим мы, или переводя на русский язык неэкранированная витая пара. Кабель 5 категории отлично справляется со стандартами Ethernet и Fast Ethernet. Для работы с более высокоскоростными стандартами, такими как Gigabit Ethernet и 10 Gigabit Ethernet понадобится кабель категории 5e или 6 категории Ethernet vs. Wi-Fi: преимущества Стабильность сигнала На самом деле развертывание локальной сети на базе проводного подключения дороже и сложнее. Но конечно есть преимущества, а особенно для организаций. В первую очередь, вспомним: Wi-FI передается по радиочастотам. Если вы живете в Москве и слушаю радио на машине въезжали в Лефортовский туннель вы точно знаете, что происходит с радиосигналом по мере погружения в туннель. Тоже самое происходит и с Wi-Fi. В проводном Ethernet помехи - не проблема. Если вы - организация и осуществляете чувствительные банковские транзакции, или у вас в офисе работает IP - телефония - конечно проводное подключение по Ethernet. Если вы домашний пользователей и “рубитесь в доту” или скачиваете массивные файлы, смотрите трансляции, майните биткоины - лучше Ethernet. Безопасность Это, безусловно, важно. А особенно для организаций. С помощью проводной сети на базовом уровне просто контролировать подключение к вашей сети. Например Wi-FI сеть может быть доступны вне вашего офиса - а там уже все зависит от компетенции злоумышленника. Отметим, что как правило, Ethernet работает на удаленности 100 метров от от роутера. При большем расстоянии нужен некий репитер сигнала. Ethernet vs. Wi-Fi: недостатки Стоимость С одной стороны, в домашней сети, достаточно просто подключить 1 кабель к порту вашего ПК и все работает. Здесь стоимость отличия от домашней Wi-Fi сети складывается только из стоимости кабеля. А что если вы организация? Кабелей нужно больше, к тому же, 1 кабель = 1 порт на коммутаторе. Соответственно, нужно закупать коммутаторы, фаерволы (безопасность, а как же?), маршрутизаторы. Именно поэтому, инвестиции в проводные Ethernet сети выше, чем в беспроводные. Порты Этот пункт пожалуй важен для дома. Пусть у вас обычный домашний маршрутизатор: в нем предположим 5 портов (1 аплинк от провайдера уже занят). При условии, что у вас телевизор, Xbox, ТВ - приставка, и два домашних компьютеры - ваши порты закончены. Если нужно подключить еще девайсы - нужно покупать дополнительное оборудование. Такой проблемы нет в Wi-Fi. Мобильность Самое важное, пожалуй. С Ethernet вы жестко завязаны на одном месте (особенно это характерно в офисе, где у вас скоммутирована Ethernet розетка). Дома, если у вас “красивый” ремонт, кабели спрятаны под плинтус. Поэтому, мобильностью и гибкостью здесь и не пахнет. С Wi-Fi можно легко подключать ноутбуки, планшенты и мобильные телефоны. Представьте забавный кейс: по пути в туалетную комнату, вы берете с собой ноутбук с кабелем, вместо мобильного телефона, в котором привычно листаете любимую ленту. Пожалуй, это тот самый случай, когда лучше почитать надписи на освежителе воздуха. Итоги Ethernet - стандарт, описывающий подключение к локальным сетям через провод. При использовании его дома, есть профит только в большей скорость загрузки/отдачи. В офисе, кабели безусловно занимают лидирующие позиции - это связано в первую очередь с безопасностью, ведь утечки коммерческих тайн еще никому не шли на пользу. В домашних условиях Wi-Fi занимает уверенные лидерские позиции.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59