Блог

Сергей Сенаторов

Name: Sergey Senatorov

FullStack developer

server

Docker: быстрый запуск контейнеров

Дата публикации: 30.07.2019
Метки: mysql, nginx, php, php-fpm, redis, server, блог

Один из вариантов простого запуска контейнеров – использовать docker-compose. Чтобы он заработал его нужно дополнительно установить из пакетов. В установках на Windows и Mac он уже изначально включен в поставку.

Достаточно описать yml файл и запустить его. В интернете можно найти большое количество готовых файлов по запросу ‘docker compose’. Эти файлы помогают комбинировать отдельные контейнеры в окружения под ваш проект. Допустим, вам для проекта необходимо поднять связку: nginx, php-fpm, elasticsearch, rabbit, memcache – все это можно реализовать в одном docker-compose файле и запускать, что называется, «в один клик».

Небольшой список базовых команд, которые вам могут пригодиться:

Собрать и запустить контейнер в фоновом режиме с помощью docker-compose

docker-compose up --build -d

Читать запись полностью »

Что выбрать sphinx или elasticsearch

Дата публикации: 30.07.2019
Метки: elasticsearch, mysql, php, server, sphinx, блог

Некоторые не знают что выбрать sphinx или elasticsearch, есть даже разные сравнения, но на мой взгляд такое сравнение делать неправильно, эти продукты решают задачи на принципиально разных уровнях.

Основное отличие заключается в том, что sphinx – это поисковый движок, а elasticsearch – это уже сервис поверх поискового движка, эдакая надстройка над apache lucene. Сравнение lucene и sphinx было бы проводить намного правильней, но в этой заметке такого сравнения не будет.

С точки зрения разработчика вы можете выбрать как одно, так и другое. Sphinx легковесный быстрый движок, имеет свой sql подобный язык, которым удобно пользоваться в консольном режиме.

Подключиться и просмотреть индекс по словоформе можно примерно таким образом:

mysql -h 127.0.0.1 -P 9306
select id from index where match('школ'); show meta;
select where id => 234234

Elasticsearch имеет много разных плагинов и возможности для интеграции, а также предоставляет удобное RESTful api, через которое можно делать все необходимые операции (индексировать, конфигурировать, обновлять, удалять, получать).

Конейнер с elasticesearch можно поднять в docker-compose, например вот так:

elasticsearch:
  image: elasticsearch:6.5.4
  #command: elasticsearch -Des.network.host=0.0.0.0
  ports:
    - "9200:9200"
    - "9300:9300"

Читать запись полностью »