z3r0Luck
4 years ago
4 changed files with 56 additions and 1 deletions
@ -0,0 +1,36 @@ |
|||||
|
version: '3.3' |
||||
|
services: |
||||
|
rs1: |
||||
|
image: mongo:3.4 |
||||
|
command: mongod --replSet "rs0" |
||||
|
networks: |
||||
|
- mongo |
||||
|
rs2: |
||||
|
image: mongo:3.4 |
||||
|
command: mongod --replSet "rs0" |
||||
|
networks: |
||||
|
- mongo |
||||
|
|
||||
|
rs3: |
||||
|
image: mongo:3.4 |
||||
|
command: mongod --replSet "rs0" |
||||
|
networks: |
||||
|
- mongo |
||||
|
|
||||
|
rs: |
||||
|
image: ericsmalling/mongors:3.4 |
||||
|
build: |
||||
|
context: ./mongors |
||||
|
|
||||
|
networks: |
||||
|
- mongo |
||||
|
deploy: |
||||
|
restart_policy: |
||||
|
condition: on-failure |
||||
|
delay: 5s |
||||
|
max_attempts: 10 |
||||
|
|
||||
|
networks: |
||||
|
mongo: |
||||
|
driver: overlay |
||||
|
attachable: true |
@ -0,0 +1,5 @@ |
|||||
|
FROM mongo:3.2 |
||||
|
COPY init.sh /tmp/init.sh |
||||
|
RUN chmod +x /tmp/init.sh |
||||
|
LABEL maintainer="Eric Smalling <smalls@docker.com>" |
||||
|
CMD /tmp/init.sh |
@ -0,0 +1,15 @@ |
|||||
|
#!/usr/bin/env bash |
||||
|
# Make sure 3 replicas available |
||||
|
for rs in rs1 rs2 rs3;do |
||||
|
mongo --host $rs --eval 'db' |
||||
|
if [ $? -ne 0 ]; then |
||||
|
exit 1 |
||||
|
fi |
||||
|
done |
||||
|
|
||||
|
# Connect to rs1 and configure replica set if not done |
||||
|
status=$(mongo --host rs1 --quiet --eval 'rs.status().members.length') |
||||
|
if [ $? -ne 0 ]; then |
||||
|
# Replicaset not yet configured |
||||
|
mongo --host rs1 --eval 'rs.initiate({ _id: "rs0", version: 1, members: [ { _id: 0, host : "rs1" }, { _id: 1, host : "rs2" }, { _id: 2, host : "rs3" } ] })'; |
||||
|
fi |
@ -1 +0,0 @@ |
|||||
Subproject commit 5e7d455c5c84d6886b3dc589dd00eb62c160d9fc |
|
Loading…
Reference in new issue