diff --git a/apollo-gateway/Dockerfile b/apollo-gateway/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..d0ec9c9cb4f420dd0147cca4d0e736347388af50
--- /dev/null
+++ b/apollo-gateway/Dockerfile
@@ -0,0 +1,11 @@
+FROM node:14
+
+COPY . /opt/app
+
+WORKDIR /opt/app
+
+RUN npm install
+
+EXPOSE 5000
+
+CMD npm start
\ No newline at end of file
diff --git a/apollo-gateway/graphql/adapters/CommentsService.js b/apollo-gateway/graphql/adapters/CommentsService.js
index a89b8fda3ea147837c645bc44674a1a18ac9ca67..70ba9d3a1022f390221cc9d1083261d4497a77c3 100644
--- a/apollo-gateway/graphql/adapters/CommentsService.js
+++ b/apollo-gateway/graphql/adapters/CommentsService.js
@@ -1,6 +1,6 @@
 import axios from 'axios';
 
-const COMMENTS_SERVICE_URI = "http://localhost:5003";
+const COMMENTS_SERVICE_URI = "http://comments-service:5003";
 
 export default class PostsService {
   static async fetchAllPostComments({ postId }) {
diff --git a/apollo-gateway/graphql/adapters/PostsService.js b/apollo-gateway/graphql/adapters/PostsService.js
index d0df8d64355b8250f3d816b9208cd62214c422ca..122dc714b86092a1e4edfaaaac7b7c22420a4877 100644
--- a/apollo-gateway/graphql/adapters/PostsService.js
+++ b/apollo-gateway/graphql/adapters/PostsService.js
@@ -1,6 +1,6 @@
 import axios from 'axios';
 
-const POSTS_SERVICE_URI = "http://localhost:5002";
+const POSTS_SERVICE_URI = "http://posts-service:5002";
 
 export default class PostsService {
   static async fetchAllPosts() {
diff --git a/apollo-gateway/graphql/adapters/UsersService.js b/apollo-gateway/graphql/adapters/UsersService.js
index aca9cd3afb39376b4e252539fc4dcba5d1ee7326..b9f9905c79a2fdca60dff56217e2153ce23fd5fa 100644
--- a/apollo-gateway/graphql/adapters/UsersService.js
+++ b/apollo-gateway/graphql/adapters/UsersService.js
@@ -1,6 +1,6 @@
 import axios from 'axios';
 
-const USERS_SERVICE_URI = "http://localhost:5001/user";
+const USERS_SERVICE_URI = "http://users-service:5001/user";
 
 export default class UsersService {
   static async signup({ name, email, password }) {
diff --git a/comments-service/Dockerfile b/comments-service/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..c4303bdd4fbcefaabf54381a2b8dbfe5551e4d94
--- /dev/null
+++ b/comments-service/Dockerfile
@@ -0,0 +1,11 @@
+FROM node:14
+
+COPY . /opt/app
+
+WORKDIR /opt/app
+
+RUN npm install
+
+EXPOSE 5003
+
+CMD npm start
\ No newline at end of file
diff --git a/docker-compose.yaml b/docker-compose.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..e8a62b4876c384921f014f91167bfee3065ea2d3
--- /dev/null
+++ b/docker-compose.yaml
@@ -0,0 +1,34 @@
+version: "3"
+services: 
+  apollo-gateway:
+    build: "./apollo-gateway"
+    depends_on: 
+      - users-service
+      - posts-service
+      - comments-service
+    volumes: 
+      - ./apollo-gateway:/opt/app
+    ports: 
+      - 5000:5000
+
+  users-service:
+    build: "./users-service"
+    volumes: 
+      - ./users-service:/opt/app
+      - /opt/app/node_modules
+    ports: 
+      - 5001:5001
+
+  posts-service:
+    build: "./posts-service"
+    volumes: 
+      - ./posts-service:/opt/app
+    ports: 
+      - 5002:5002
+
+  comments-service:
+    build: "./comments-service"
+    volumes: 
+      - ./comments-service:/opt/app
+    ports: 
+      - 5003:5003
\ No newline at end of file
diff --git a/posts-service/Dockerfile b/posts-service/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..4306abe89aa5d93583b2db3c67de635a89adc3e7
--- /dev/null
+++ b/posts-service/Dockerfile
@@ -0,0 +1,11 @@
+FROM node:14
+
+COPY . /opt/app
+
+WORKDIR /opt/app
+
+RUN npm install
+
+EXPOSE 5002
+
+CMD npm start
\ No newline at end of file
diff --git a/users-service/Dockerfile b/users-service/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..b27ddbaeb2da3818c19dc27f45bb4cf424bd598b
--- /dev/null
+++ b/users-service/Dockerfile
@@ -0,0 +1,11 @@
+FROM node:14
+
+COPY . /opt/app
+
+WORKDIR /opt/app
+
+RUN npm install
+
+EXPOSE 5001
+
+CMD npm start
\ No newline at end of file