По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
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
SSH (Secure Shell) обеспечивает безопасное удаленное соединение между двумя системами. С помощью этого криптографического протокола вы можете управлять машинами, копировать или перемещать файлы на удаленном сервере через зашифрованные каналы. Существует два способа входа в удаленную систему через SSH - с использованием аутентификации по паролю или аутентификации с открытым ключом (вход SSH без пароля). В этом руководстве вы узнаете, как настроить и включить вход по SSH без пароля. Подготовка Нам необходимо: Доступ к командной строке или окну терминала Пользователь с привилегиями sudo или root Локальный сервер и удаленный сервер Доступ по SSH к удаленному серверу через командную строку или окно терминала Перед тем как начать проверьте существующие ключи SSH. Возможно, на вашем компьютере уже есть пара ключей SSH. Чтобы узнать, есть ли у вас в системе ключи SSH, выполните команду: ls -al ~/.ssh/id_*.pub Если в выводе указано, что таких файлов нет, переходите к следующему шагу, который показывает, как сгенерировать ключи SSH. Если они у вас есть, вы можете использовать существующие ключи, сделать их резервную копию и создать новую пару или перезаписать ее. Шаг 1. Создайте пару ключей SSH 1. Первое, что вам нужно сделать, это сгенерировать пару ключей SSH на машине, на которой вы сейчас работаете. В этом примере мы генерируем 4096-битную пару ключей. Мы также добавляем адрес электронной почты, но это необязательно. Команда такая: ssh-keygen -t rsa -b 4096 -C "your_email@domain.com" 2. Затем введите место, где вы хотите сохранить ключи, или нажмите Enter, чтобы принять путь по умолчанию. 3. Также вам будет предложено установить кодовую фразу. Хотя это делает соединение еще более безопасным, оно может прерываться при настройке автоматизированных процессов. Поэтому вы можете ввести пароль или просто нажать Enter, чтобы пропустить этот шаг. 4. Затем в выводе сообщается, где хранятся идентификационный и открытый ключ, а также выдается отпечаток ключа. 5. Убедитесь, что вы успешно создали пару ключей SSH, выполнив команду: ls -al ~/.ssh/id_*.pub Вы должны увидеть путь идентификационного ключа и открытого ключа, как на скриншоте ниже: Шаг 2. Загрузите открытый ключ на удаленный сервер Вы можете загрузить публичный SSH-ключ на удаленный сервер с помощью команды ssh-copy-id или команды cat. Вариант 1. Загрузить открытый ключ с помощью команды ssh-copy-id Чтобы включить беспарольный доступ, вам необходимо загрузить копию открытого ключа на удаленный сервер. 1. Подключитесь к удаленному серверу и используйте команду ssh-copy-id: ssh-copy-ide [remote_username]@[server_ip_address] 2. Открытый ключ автоматически копируется в файл .ssh/authorized_keys. Вариант 2: загрузить открытый ключ с помощью команды cat Другой способ скопировать открытый ключ на сервер - использовать команду cat. 1. Начните с подключения к серверу и создания на нем каталога .ssh. ssh [remote_username]@[server_ip_address] mkdir -p .ssh 2. Затем введите пароль для удаленного пользователя. 3. Теперь вы можете загрузить открытый ключ с локальной машины на удаленный сервер. Команда также указывает, что ключ будет храниться под именем authorized_keys во вновь созданном каталоге .ssh: cat .ssh/id_rsa.pub | ssh [remote_username]@[server_ip_address] 'cat >> .ssh/authorized_keys' Шаг 3. Войдите на сервер без пароля После создания пары ключей SSH и загрузки открытого ключа на удаленный сервер вы должны иметь возможность подключаться к выделенному серверу без ввода пароля. Проверьте, работает ли установка, выполнив команду: ssh [remote_username]@[server_ip_address] Система должна напрямую входить в систему на удаленном сервере, пароль не требуется. Примечание: убедившись, что вы можете подключаться к удаленному серверу SSH без пароля, рассмотрите возможность полного отключения аутентификации по паролю SSH. Это добавит еще один уровень безопасности и защитит ваш сервер от bruteforce атак. Дополнительно: Устранение неполадок с разрешениями файлов удаленного сервера Права доступа к файлам на удаленном сервере могут вызвать проблемы с входом в SSH без пароля. Это обычная проблема со старыми версиями SSH. Если после выполнения всех шагов вам все еще предлагается ввести пароль, начните с редактирования прав доступа к файлам на удаленном сервере. Установите разрешения 700 для каталога .ssh. Установите разрешения 640 для каталога .ssh/authorized_keys. Отредактируйте права доступа к файлу с помощью следующей команды: ssh [remote_username]@[server_ip_address] "chmod 700 .ssh; chmod 640 .ssh/authorized_keys" При появлении запроса введите свой пароль. Если действие было успешным, вывода не будет. Итог Если вы хотите автоматизировать обновления и другие задачи или беспрепятственно подключаться к удаленному серверу по SSH, вам следует включить вход по SSH без пароля. Инструкции в этой статье должны помочь вам в этом.
img
Kali Linux, возможно, является одним из лучших дистрибутивов Linux, доступных для тестирования безопасности. Хотя многие инструменты в Kali можно установить в большинстве дистрибутивов Linux, команда разработчиков Offensive Security, занимающаяся разработкой Kali, потратила бесчисленные часы на совершенствование готового к загрузке дистрибутива безопасности. Kali Linux - это дистрибутив безопасности на основе Debian. Дистрибутив поставляется с предустановленными сотнями известных инструментов безопасности и заслужил себе имя. В этой статье мы рассказываем, как установить Kali Linux и стать крутым хакером (в рамках закона, конечно же). Мы будем использовать последнюю на данный момент версию Kali Linux - 2020.2 Системные Требования Кали имеет некоторые минимальные рекомендуемые спецификации для оборудования. В зависимости от предполагаемого использования может потребоваться больше. В этом руководстве предполагается, что вы захотите установить Kali в качестве единственной операционной системы на компьютере. Не менее 20 ГБ дискового пространства; Настоятельно рекомендуется иметь больше. Не менее 2 ГБ ОЗУ; больше рекомендуется особенно для графических сред. Поддержка загрузки с USB или CD/DVD ISO доступен на странице загрузки Kali Linux. Создание загрузочного USB с помощью команды dd В этом руководстве предполагается, что USB-накопитель доступен для использования в качестве установочного носителя. Обратите внимание, что USB-накопитель должен быть как можно ближе к 4/8 ГБ. Обязательно сделайте резервную копию всех данных, прежде чем продолжить - все данные будут удалены. Этот загрузочный USB-диск Kali Linux будет создан с другого компьютера с Linux. Первым шагом нужно получить Kali Linux ISO образ. В этом руководстве будет использоваться новейшая версия Kali с настольной средой Enlightenment Linux. Чтобы получить эту версию, введите следующую команду wget в терминал. $ cd ~/Downloads $ wget -c https://cdimage.kali.org/kali-2020.2/kali-linux-2020.2-installer-amd64.iso Две приведенные выше команды загрузят ISO-образ Kali Linux в папку Downloads текущего пользователя. Следующим этапом является запись ISO на USB-накопитель для загрузки установщика. Для этого мы можем использовать инструмент dd в Linux. Сначала нам нужно найти имя диска с помощью команды lsblk. $ lsblk Когда имя USB-накопителя станет определено как /dev/sdc, образ Kali можно записать на накопитель с помощью инструмента dd. $ sudo dd if=~/Downloads/kali-linux-2020.2-installer-amd64.iso of=/dev/sdc Важное замечание: Приведенная выше команда требует привилегий root, поэтому для запуска команды используйте sudo или login в качестве пользователя root. Также эта команда УДАЛИТ ВСЕ на USB-накопителе. Обязательно сделайте резервную копию необходимых данных. После того, как ISO скопирован на USB-накопитель, переходим к установке Kali Linux. Установка Kali Linux Distribution 1. Сначала подключите USB-накопитель к соответствующему компьютеру, на котором должен быть установлен Kali, и перейдите к загрузке через USB-накопитель. После успешной загрузки с USB-накопителя пользователю будет показан следующий экран, и он должен перейти к опциям Install (Установка) или Graphical Install (Графическая установка). В этом руководстве будет использоваться метод Graphical Install. 2. На следующей паре экранов пользователю будет предложено выбрать информацию о локали, такую как язык, страна и раскладка клавиатуры. После ознакомления с информацией о локали установщик запросит имя хоста и домен (hostname и domain) для этой установки. Предоставьте соответствующую информацию для среды и продолжите ее установку. 3. После настройки имени хоста и имени домена вам необходимо создать новую учетную запись пользователя, чтобы использовать ее вместо учетной записи root для неадминистративной деятельности. 4. После установки пароля установщик запросит данные о часовом поясе, а затем сделает паузу на разбиении диска. Если Kali будет единственной операционной системой на компьютере, самый простой вариант - Guided – Use Entire Disk использовать (Управляемый - использовать весь диск), а затем выбрать устройство хранения, которое вы хотите установить Kali. 5. Следующий вопрос предложит пользователю определить раздел на устройстве хранения. Большинство установок могут просто поместить все данные в один раздел. 6. На последнем шаге нас просят подтвердить все изменения, которые необходимо внести на компьютере. Имейте в виду, что далее будет удалены данные на диске. 7. После подтверждения изменений раздела программа установки запустит процесс установки файлов. По завершении система предложит вам выбрать программное обеспечение, которое установит стандартную среду рабочего стола с необходимыми инструментами. 8. После завершения установки программного обеспечения система попросит установить grub. Опять же, в этом руководстве предполагается, что Kali будет единственной операционной системой на этом компьютере. Выбор «Да» на этом экране позволит пользователю выбрать устройство для записи необходимой информации о загрузчике на жесткий диск для загрузки Kali. 9. После того, как установщик завершит установку GRUB на диск, он предупредит пользователя о перезагрузке компьютера для загрузки Kali. 10. Так как это руководство установило среду рабочего стола XFCE, оно, скорее всего, загрузится в нее по умолчанию. После загрузки войдите в систему как пользователь с паролем, созданным ранее в процессе установки. На этом этапе Kali Linux успешно установлена и готова к использованию!
ЗИМНИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59