Public | Automated Build

Last pushed: 4 days ago
Short Description
DEPRECATED - Please check ciandt/solr repo for updated versions
Full Description

CI&T Solr Docker image(s)

These Docker image(s) intends to be a containerized Solr solution for multiple purposes.

The source code is available under GPLv3 at Github in this link.

By utilizing Docker technologies, that already provides an easy way of spinning up new environments along with its dependecies. This image can speed up developers which different backgrounds and equipments to create quickly a new local environment allowing them to easily integrate in automated tests and deployment pipelines.

At this moment we have the following version(s).

Acquia

Our intent is to be a Docker container that mimics Solr running on Acquia environment with the same version of softwares, packages, modules and its underlying operating system.

Acquia publishes a table with its platform infrastructure information on the link: https://docs.acquia.com/cloud/arch/tech-platform

These images will have the following name pattern: acquia-YYYY-MM-DD

Bundled software versions

These are the currently software versions bundled in the image(s) by tag.

  • acquia-latest OR acquia-2016-11-30
    • Ubuntu 12.04.5
    • Solr 3.5.0
      • Drupal Search API 7.x-1.8
    • Dumb-init 1.2.0

Deprecated

  • acquia-2016-11-08
    • Ubuntu 12.04.5
    • Solr 3.5.0
      • Drupal Search API 7.x-1.8
    • Dumb-init 1.2.0

Quick Start

Download the image

docker pull ciandt/solr:acquia-latest

Run a container

docker run \
  --name myContainer \
  --detach \
  ciandt/solr:acquia-latest

Check running containers

docker ps --all

Running standalone

If you just need the container there is a snippet that can help running in standalone mode.

# define variables
DOCKER_CONTAINER_NAME="myContainer"
DOCKER_IMAGE="ciandt/solr:acquia-latest"

# run your container
docker run \
  --name "${DOCKER_CONTAINER_NAME}" \
  --detach \
  "${DOCKER_IMAGE}"

After run, you can inquiry Docker service and get the IP address of your newly running container named myContainer by using the following command:

docker inspect --format '{{ .NetworkSettings.IPAddress }} myContainer'

Let's suppose that the returned IP address was 172.17.0.2.
Since Solr standard port is 8983, just open a browser and try to access:

http://172.17.0.2:8983

Apache Solr landing page should be displayed perfectly.


Running in Docker-Compose

Since a project is not going to use solely this container, it may need a Docker-Compose file.

Just to exercise, follow an example of this running with Apache/PHP and also both behind a Nginx proxy.

Create a new folder and fill with these 3 files and respective folders;

conf/php.local.env

## Nginx proxy configuration
# https://hub.docker.com/r/jwilder/nginx-proxy/
VIRTUAL_HOST=mySite.local

conf/solr.local.env

## Nginx proxy configuration
# https://hub.docker.com/r/jwilder/nginx-proxy/
VIRTUAL_HOST=mySolr.local
VIRTUAL_PORT=8983

docker-compose.yml

solr:
  image: ciandt/solr:acquia-latest
  container_name: solr
  env_file: ../conf/solr.local.env

php:
  image: ciandt/php:acquia-latest
  container_name: php
  env_file: ../conf/php.local.env
  links:
    - solr

nginx:
  image: jwilder/nginx-proxy:latest
  container_name: nginx
  volumes:
    - /var/run/docker.sock:/tmp/docker.sock:ro
  ports:
    - "80:80"
    - "443:443"

Then just spin-up your Docker-Compose with the command:

docker-compose up -d

Inspect Nginx container IP address:

docker inspect \
        --format \
        "{{.NetworkSettings.Networks.bridge.IPAddress }}" \
        "nginx"

Use the IP address to update hosts file. Let's suppose that was 172.17.0.2.

Then, add the entries to /etc/hosts.

172.17.0.2 php.local
172.17.0.2 solr.local

And now, try to access in the browser

http://solr.local/solr/admin

Voilà!
Your project now have Solr, Apache/PHP and Nginx up and running.
\o/


User Feedback

Issues

If you have problems, bugs, issues with or questions about this, please reach us in Github issues page.

Needless to say, please do a little research before posting.

Contributing

We gladly invite you to contribute fixes, new features, or updates, large or small; we are always thrilled to receive pull requests, and do our best to process them as fast as we can.

Before you start to code, we recommend discussing your plans through a GitHub issue, especially for more ambitious contributions. This gives other contributors a chance to point you in the right direction, give you feedback on your design, and help you find out if someone else is working on the same thing.

Documentation

There are two parts of the documentation.

First, in the master branch, is this README.MD. It explains how this little scripts framework work and it is published on Github page.

Second, in each image version there is an additional README.MD file that explains how to use that specific Docker image version itself. Latest version is always the one seen on Docker Hub page.

We strongly encourage reading both!


Please feel free to drop a message in the comments section.

Happy coding, enjoy!!

"We develop people before we develop software" - Cesar Gon, CEO

Docker Pull Command
Owner
ciandtsoftware
Source Repository