浏览代码

Merge pull request #3 from bfirsh/compose-file-2

Convert app to use Compose file 2
Ben Firshman 9 年之前
父节点
当前提交
6aa86f6a12

+ 3 - 4
README.md

@@ -1,7 +1,7 @@
 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/
 
@@ -17,10 +17,9 @@ Architecture
 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 --x-networking up -d
+    $ docker-compose up -d
 
 The app will be running on port 5000 on your Docker host, and the results will be on port 5001.
 

+ 56 - 0
docker-compose.yml

@@ -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:
+
+

+ 0 - 0
vote-apps/result-app/Dockerfile → result-app/Dockerfile


+ 0 - 0
vote-apps/result-app/package.json → result-app/package.json


+ 1 - 1
vote-apps/result-app/server.js → result-app/server.js

@@ -24,7 +24,7 @@ io.sockets.on('connection', function (socket) {
 async.retry(
   {times: 1000, interval: 1000},
   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) {
         console.error("Failed to connect to db");
       }

+ 0 - 0
vote-apps/result-app/views/app.js → result-app/views/app.js


+ 0 - 0
vote-apps/result-app/views/index.html → result-app/views/index.html


+ 0 - 0
vote-apps/result-app/views/socket.io.js → result-app/views/socket.io.js


+ 0 - 0
vote-apps/result-app/views/stylesheets/style.css → result-app/views/stylesheets/style.css


+ 0 - 25
vote-apps/docker-compose.yml

@@ -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"

+ 0 - 0
vote-apps/voting-app/Dockerfile → voting-app/Dockerfile


+ 1 - 1
vote-apps/voting-app/app.py → voting-app/app.py

@@ -12,7 +12,7 @@ option_a = os.getenv('OPTION_A', "Cats")
 option_b = os.getenv('OPTION_B', "Dogs")
 hostname = socket.gethostname()
 
-redis = connect_to_redis("voteapps_redis_1")
+redis = connect_to_redis("redis")
 app = Flask(__name__)
 
 

+ 0 - 0
vote-apps/voting-app/requirements.txt → voting-app/requirements.txt


+ 0 - 0
vote-apps/voting-app/static/stylesheets/style.css → voting-app/static/stylesheets/style.css


+ 0 - 0
vote-apps/voting-app/templates/index.html → voting-app/templates/index.html


+ 0 - 0
vote-apps/voting-app/utils/__init__.py → voting-app/utils/__init__.py


+ 0 - 0
vote-apps/worker/Dockerfile → worker/Dockerfile


+ 0 - 0
vote-apps/worker/pom.xml → worker/pom.xml


+ 2 - 2
vote-apps/worker/src/main/java/worker/Worker.java → worker/src/main/java/worker/Worker.java

@@ -8,8 +8,8 @@ import org.json.JSONObject;
 class Worker {
   public static void main(String[] args) {
     try {
-      Jedis redis = connectToRedis("voteapps_redis_1");
-      Connection dbConn = connectToDB("voteapps_db_1");
+      Jedis redis = connectToRedis("redis");
+      Connection dbConn = connectToDB("db");
 
       System.err.println("Watching vote queue");