Merge pull request #3 from bfirsh/compose-file-2
Convert app to use Compose file 2
This commit is contained in:
commit
6aa86f6a12
@ -1,7 +1,7 @@
|
|||||||
Example Voting App
|
Example Voting App
|
||||||
==================
|
==================
|
||||||
|
|
||||||
This is an example Docker app with multiple services. It is run with Docker Compose and uses Docker Networking to connect containers together.
|
This is an example Docker app with multiple services. It is run with Docker Compose and uses Docker Networking to connect containers together. You will need Docker Compose 1.6 or later.
|
||||||
|
|
||||||
More info at https://blog.docker.com/2015/11/docker-toolbox-compose/
|
More info at https://blog.docker.com/2015/11/docker-toolbox-compose/
|
||||||
|
|
||||||
@ -17,10 +17,9 @@ Architecture
|
|||||||
Running
|
Running
|
||||||
-------
|
-------
|
||||||
|
|
||||||
Since this app makes use of Compose's experimental networking support, it must be started with:
|
Run in this directory:
|
||||||
|
|
||||||
$ cd vote-apps/
|
$ docker-compose up -d
|
||||||
$ docker-compose --x-networking up -d
|
|
||||||
|
|
||||||
The app will be running on port 5000 on your Docker host, and the results will be on port 5001.
|
The app will be running on port 5000 on your Docker host, and the results will be on port 5001.
|
||||||
|
|
||||||
|
56
docker-compose.yml
Normal file
56
docker-compose.yml
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
version: "2"
|
||||||
|
|
||||||
|
services:
|
||||||
|
voting-app:
|
||||||
|
build: ./voting-app/.
|
||||||
|
volumes:
|
||||||
|
- ./voting-app:/app
|
||||||
|
ports:
|
||||||
|
- "5000:80"
|
||||||
|
links:
|
||||||
|
- redis
|
||||||
|
networks:
|
||||||
|
- front-tier
|
||||||
|
- back-tier
|
||||||
|
|
||||||
|
result-app:
|
||||||
|
build: ./result-app/.
|
||||||
|
volumes:
|
||||||
|
- ./result-app:/app
|
||||||
|
ports:
|
||||||
|
- "5001:80"
|
||||||
|
links:
|
||||||
|
- db
|
||||||
|
networks:
|
||||||
|
- front-tier
|
||||||
|
- back-tier
|
||||||
|
|
||||||
|
worker:
|
||||||
|
build: ./worker
|
||||||
|
links:
|
||||||
|
- db
|
||||||
|
- redis
|
||||||
|
networks:
|
||||||
|
- back-tier
|
||||||
|
|
||||||
|
redis:
|
||||||
|
image: redis
|
||||||
|
ports: ["6379"]
|
||||||
|
networks:
|
||||||
|
- back-tier
|
||||||
|
|
||||||
|
db:
|
||||||
|
image: postgres:9.4
|
||||||
|
volumes:
|
||||||
|
- "db-data:/var/lib/postgresql/data"
|
||||||
|
networks:
|
||||||
|
- back-tier
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
db-data:
|
||||||
|
|
||||||
|
networks:
|
||||||
|
front-tier:
|
||||||
|
back-tier:
|
||||||
|
|
||||||
|
|
@ -24,7 +24,7 @@ io.sockets.on('connection', function (socket) {
|
|||||||
async.retry(
|
async.retry(
|
||||||
{times: 1000, interval: 1000},
|
{times: 1000, interval: 1000},
|
||||||
function(callback) {
|
function(callback) {
|
||||||
pg.connect('postgres://postgres@voteapps_db_1/postgres', function(err, client, done) {
|
pg.connect('postgres://postgres@db/postgres', function(err, client, done) {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.error("Failed to connect to db");
|
console.error("Failed to connect to db");
|
||||||
}
|
}
|
@ -1,25 +0,0 @@
|
|||||||
voting-app:
|
|
||||||
build: ./voting-app/.
|
|
||||||
volumes:
|
|
||||||
- ./voting-app:/app
|
|
||||||
ports:
|
|
||||||
- "5000:80"
|
|
||||||
|
|
||||||
redis:
|
|
||||||
image: redis
|
|
||||||
ports: ["6379"]
|
|
||||||
|
|
||||||
worker:
|
|
||||||
build: ./worker
|
|
||||||
|
|
||||||
db:
|
|
||||||
image: postgres:9.4
|
|
||||||
volumes:
|
|
||||||
- "myvolume:/var/lib/postgresql/data"
|
|
||||||
|
|
||||||
result-app:
|
|
||||||
build: ./result-app/.
|
|
||||||
volumes:
|
|
||||||
- ./result-app:/app
|
|
||||||
ports:
|
|
||||||
- "5001:80"
|
|
@ -12,7 +12,7 @@ option_a = os.getenv('OPTION_A', "Cats")
|
|||||||
option_b = os.getenv('OPTION_B', "Dogs")
|
option_b = os.getenv('OPTION_B', "Dogs")
|
||||||
hostname = socket.gethostname()
|
hostname = socket.gethostname()
|
||||||
|
|
||||||
redis = connect_to_redis("voteapps_redis_1")
|
redis = connect_to_redis("redis")
|
||||||
app = Flask(__name__)
|
app = Flask(__name__)
|
||||||
|
|
||||||
|
|
@ -8,8 +8,8 @@ import org.json.JSONObject;
|
|||||||
class Worker {
|
class Worker {
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
try {
|
try {
|
||||||
Jedis redis = connectToRedis("voteapps_redis_1");
|
Jedis redis = connectToRedis("redis");
|
||||||
Connection dbConn = connectToDB("voteapps_db_1");
|
Connection dbConn = connectToDB("db");
|
||||||
|
|
||||||
System.err.println("Watching vote queue");
|
System.err.println("Watching vote queue");
|
||||||
|
|
Loading…
Reference in New Issue
Block a user