Docker Containerised Services

MD
R
Markdown

Containerising the development environment. Useful for Redis, MongoDB, RabbitMQ, NGiNX.

Node.js LTS 8

docker run -v "$(pwd)":/tmp -it node:carbon-slim /bin/sh

#Alpine Linux docker run -v "$(pwd)":/tmp -it alpine:3.7 /bin/sh

MongoDB

Install MongoDB Community Edition with Homebrew brew update brew install mongodb --with-openssl mkdir -p /data/db sudo chown -R 'username' /data/db mongod mongo

Pull the Docker Image docker pull mongo docker run -d --name mongo -p 27017:27017 -v /data/db:/data/db mongo

# Redis Cache docker pull redis:2.8.23 docker run -d -p 6379:6379 --name redis redis docker inspect redis | grep IPAddres docker ps

Nginx

docker pull ngingx docker run -d -p 4567:80 --name nginx nginx

RabbitMQ

https://hub.docker.com/_/rabbitmq/. --official repository // Running the daemon: docker run -d -p 15672:15672 --hostname my-rabbit --name rmq rabbitmq:management docker run -d -p 15672:15672 -p 5672:5672 --hostname my-rabbit --name rmq -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=password -e RABBITMQ_DEFAULT_VHOST=/test rabbitmq:management

For the Management Tool https://hub.docker.com/r/library/rabbitmq/tags/ NOTE: RabbitMQ Needs a Node Name Open: http://localhost:15672/#/

docker logs rmq

// Server Info node : rabbit@my-rabbit home dir : /var/lib/rabbitmq config file(s) : /etc/rabbitmq/rabbitmq.config cookie hash : M4Dic5P+onUVeF097kls+A== log : tty sasl log : tty database dir : /var/lib/rabbitmq/mnesia/rabbit@my-rabbit

Configuring RMQ

Add User Set Hosts Set Permissions between Users/Hosts

Environmental Variables -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=password -e RABBITMQ_DEFAULT_VHOST=/test

Environmental Variables For Node Apps: "rabbitmq": { "user": "admin", "pass": "password", "server": "127.0.0.1", "vhost": "/test", "queue": "adclick.queue", "exchange": "adclick.ex", "routingKey": "click.send.k" }

Created on 10/12/2017