Docker и Solr

В процессе работы регулярно использую docker. Использую не по основному назначению, а в качестве инструмента быстрой и легкой виртуализации. То есть в контейнерах у меня сайты или веб-приложения, по одному на контейнер. Сервер и БД в контейнере, код подключен через volume, чтобы можно было редактировать сразу из IDE. Как выяснилось, это довольно удобно в работе — не нужно загаживать локальное окружение всяким софтом разных версий, все можно пихнуть в соответствующий контейнер. И на нотбук перекидывать несложно. Плюс сами контейнеры запускаются почти моментально. В общем, пользуюсь регулярно.

А тут второй раз уже встала нужда поднять в локальном окружении Solr для Drupal Search API. В первый раз поднялось как-то криво и я даже забыл, как. Так что теперь делаю правильно и записываю, чтоб больше не забывать.

Поставим Solr в отдельный контейнер. Благодаря поддержке многоядерности мы сможем легко подключать несколько сайтов к одному контейнеру.

docker run -it -privileged --name solr -p 8080:8080 pmoust/solr:latest

Команда скачает из публичного репозитория образ pmoust/solr, в котором находится Solr 4.x, работающий в многоядерном режиме на Jetty, и создаст контейнер по имени solr, а также пробросит порт 8080 для доступа к приложению.

Чтобы зайти в работающий контейнер

docker exec -i -t solr bash

После входа можно зайти в /usr/share/solr и создать там ядро для Друпал-сайта с помощью конфигов, вложенных в модуль. А чтобы подключить контейнер solr к любому другому контейнеру с сайтом, нужно просто добавить ключ --link:

docker run -t -i --name sitecontainer --link solr:solr myimages/mysiteimage /bin/bash

После этого из контейнера sitecontainer Solr будет доступен прямо по адресу solr:8080/solr.

Гость (гость)
Аватар пользователя Гость

-privileged

Вредный совет.

graker
Аватар пользователя graker

Для локальной разработки не принципиально.

pr0g (гость)
Аватар пользователя pr0g

А какая у Вас базовая операционная система?

graker
Аватар пользователя graker

На десктопе стоит openSUSE.

pr0g (гость)
Аватар пользователя pr0g

Ну страшный же у меня аватар.
Можете подсказать мануал или статью на русском по Docker, где есть описание и принцип работы?
Можно ли его использовать на рабочем сервере? Как с надежностью и т.д.?

graker
Аватар пользователя graker

gravatar такой генерит :)
Не, не могу, я по-английски читал прямо с docker.com и с Гугла. Насчет рабочего сервера я не специалист, использую исключительно для виртуализации на локалхосте. Но люди пользуются в продакшне, значит наверное можно.

Отправить комментарий

CAPTCHA
Пройдите, пожалуйста, проверку. Она нужна, чтобы отличать людей от спам-роботов. А если не хотите проходить эту проверку регулярно — зарегистрируйтесь.
Image CAPTCHA
Введите цифры, изображенные на картинке (без пробелов).