Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # NoSQL Docker demo
- Here is a Docker compose file which starts redis, mongo, cassandra and neo4j containers for demonstration purposes.
- ## Cluster
- If you want to start all at once !
- Start : `docker-compose up`
- Dismount : `docker-compose down`
- ## Redis
- Run Redis server : `docker-compose run --rm --name myredis redis`
- Connect to redis : `docker exec -it myredis redis-cli`
- Interact :
- ```
- ping
- ping "hello world"
- set hello world
- get hello
- keys *
- incr next.recordings.id
- sadd recordings:1:artist "Rolling Stones"
- sadd recordings:1:title "Beggars banquet"
- sadd recordings:1:price 9.99
- keys *
- smembers recordings:1:artist
- srem recordings:1:artist “Rolling Stones”
- ```
- ## Mongo
- Run Mongo server : `docker-compose run --rm --name mymongo mongo`
- Connect to mongo : `docker exec -it mymongo mongo`
- ```
- use rainforest
- album ={
- id:1,
- artist: "Rolling Stones",
- price: 9.99
- }
- db.recordings.insert(album)
- db.recordings.find()
- db.recordings.remove({id:1})
- db.recordings.find()
- ```
- ## Cassandra
- Run Cassandra server : `docker-compose run --rm --name mycassandra cassandra`
- Connect to Cassandra : `docker exec -it mycassandra cqlsh`
- ```
- CREATE KEYSPACE rainforest WITH replication = {'class':'SimpleStrategy', 'replication_factor':'1'};
- USE rainforest;
- CREATE COLUMNFAMILY recordings(
- title varchar PRIMARY KEY,
- artist varchar,
- price double);
- INSERT INTO recordings (title, artist, price) values ('Tattoo You', 'Stones', 9.99);
- Select * from recordings;
- CREATE INDEX ON recordings(artist);
- SELECT * from recordings where artist='Stones';
- ```
- ## Neo4j
- Run Neo4j server : `docker-compose run --rm --service-ports --name myneo4j neo4j`
- Connect to Neo4j : `docker exec -it myneo4j cypher-shell`
- ```
- CREATE (a { artist: 'Rolling Stones' });
- CREATE (t { title: 'Beggars Banquet' });
- MATCH (a),(t)
- WHERE a.artist = 'Rolling Stones' AND t.title = 'Beggars Banquet'
- CREATE (a)-[r:ARTIST]->(t)
- RETURN r;
- MATCH (rolling_stones)-[:ARTIST]-(recordings)
- WHERE rolling_stones.artist = 'Rolling Stones'
- RETURN recordings.title;
- ```
Add Comment
Please, Sign In to add comment