Docker Containerised Services
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