diff --git a/docker-compose.yml b/docker-compose.yml index a7f0764..afb693d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,12 +1,41 @@ version: '2' services: - web: - build: . + webtodel1: + container_name: todel1 + image: todel ports: - - "5000:5000" + - "5000" + volumes: + - .:/go/src/github.com/mecusorin/SampleGoRedisDockerNginx/main + depends_on: + - redis + webtodel2: + container_name: todel2 + image: todel + ports: + - "5000" + volumes: + - .:/go/src/github.com/mecusorin/SampleGoRedisDockerNginx/main + depends_on: + - redis + webtodel3: + container_name: todel3 + image: todel + ports: + - "5000" volumes: - .:/go/src/github.com/mecusorin/SampleGoRedisDockerNginx/main depends_on: - redis redis: image: redis + loadbalancer: + container_name: todelLoadBalancer + image: loadbalancer-nginx + ports: + - "5000:80" + links: + - "webtodel1" + - "webtodel2" + - "webtodel3" + \ No newline at end of file diff --git a/nginx/Dockerfile b/nginx/Dockerfile new file mode 100644 index 0000000..d7deeaf --- /dev/null +++ b/nginx/Dockerfile @@ -0,0 +1,2 @@ +FROM nginx:1.10 +COPY ./nginx.conf /etc/nginx/nginx.conf \ No newline at end of file diff --git a/nginx/nginx.conf b/nginx/nginx.conf new file mode 100644 index 0000000..ad0b53f --- /dev/null +++ b/nginx/nginx.conf @@ -0,0 +1,19 @@ +http { + upstream mygoapp { + server todel1:5000; + server todel2:5000; + server todel3:5000; + } + + server { + listen 80; + + location / { + proxy_pass http://mygoapp; + } + } +} + +worker_processes 4; + +events { worker_connections 1024; } diff --git a/run_compose.sh b/run_compose.sh index 840c719..deb9afa 100755 --- a/run_compose.sh +++ b/run_compose.sh @@ -34,6 +34,7 @@ then docker rm $(docker ps -qaf "since=tensorflow-udacity") docker rmi $(docker images -qf "since=composetest_web") docker build -t todel --rm . + docker build -t loadbalancer-nginx --rm nginx/ docker-compose up else echo "Take care you can delete docker images and containers"