Skip to content

Commit

Permalink
edit docker + add dockerrun.aws.json for aws
Browse files Browse the repository at this point in the history
  • Loading branch information
danmgs committed Mar 16, 2020
1 parent 7238dc2 commit dca3420
Show file tree
Hide file tree
Showing 5 changed files with 120 additions and 45 deletions.
75 changes: 75 additions & 0 deletions Dockerrun.aws.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
{
"AWSEBDockerrunVersion": 2,
"volumes": [
{
"name": "mongodata",
"host": {
"sourcePath": "/var/app/current/mongodata/data/db"
}
}
],
"containerDefinitions": [
{
"name": "mongo-service",
"image": "mongo:latest",
"hostname": "mongo-service",
"essential": true,
"memory": 512,
"mountPoints": [
{
"sourceVolume": "mongodata",
"containerPath": "/data/db"
}
]
},
{
"name": "app-backend",
"image": "danmgs/weather-app-backend:1.1",
"hostname": "app-backend",
"environment": [
{
"name": "NODE_ENV",
"value": "production"
},
{
"name": "ENV_SERVER_API_MONGODB_URI",
"value": "mongodb://mongo-service:27017"
},
{
"name": "ENV_SERVER_API_ALLOW_HOSTS",
"value": "*"
},
{
"name": "ENV_SERVER_API_PORT",
"value": "30001"
}
],
"essential": true,
"memory": 256,
"portMappings": [
{
"hostPort": 30001,
"containerPort": 30001
}
],
"links": [
"mongo-service"
]
},
{
"name": "app-frontend",
"image": "danmgs/weather-app-frontend:1.1",
"essential": true,
"memory": 128,
"portMappings": [
{
"hostPort": 80,
"containerPort": 80
}
],
"links": [
"app-backend"
]
}
]
}
10 changes: 5 additions & 5 deletions docker-compose-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ services:
- mongodata:/data/db
restart: always

weather-app-backend:
container_name: weather-app-backend
app-backend:
container_name: app-backend
image: danmgs/weather-app-backend:1.1
environment:
NODE_ENV: production
Expand All @@ -22,14 +22,14 @@ services:
- mongo-service
restart: always

weather-app-frontend:
container_name: weather-app-frontend
app-frontend:
container_name: app-frontend
image: danmgs/weather-app-frontend:1.1
working_dir: /usr/src/app
ports:
- "80:80"
depends_on:
- weather-app-backend
- app-backend
restart: always

volumes:
Expand Down
10 changes: 5 additions & 5 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ services:
- mongodata:/data/db
restart: always

weather-app-backend:
app-backend:
build:
context: ./server
dockerfile: Dockerfile
container_name: weather-app-backend
container_name: app-backend
image: ${ENV_BACKEND_IMAGE_TAG}
environment:
NODE_ENV: ${NODE_ENV}
Expand All @@ -25,19 +25,19 @@ services:
- mongo-service
restart: always

weather-app-frontend:
app-frontend:
build:
context: ./public
dockerfile: Dockerfile
args:
- NODE_ENV=${ENV_WEBAPP_NODE_ENV} # development / staging / prod
container_name: weather-app-frontend
container_name: app-frontend
image: ${ENV_FRONTEND_IMAGE_TAG}
working_dir: /usr/src/app
ports:
- ${ENV_WEBAPP_PORT}:${ENV_WEBAPP_PORT}
depends_on:
- weather-app-backend
- app-backend
restart: always

# https://github.com/docker-library/mongo/issues/74#issuecomment-350034758
Expand Down
54 changes: 27 additions & 27 deletions k8s/mongodb-deployment.yaml
Original file line number Diff line number Diff line change
@@ -1,27 +1,27 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: mongodb-deployment
namespace: weatherapp
spec:
replicas: 1
selector:
matchLabels:
component: mongodatabase
template:
metadata:
labels:
component: mongodatabase
spec:
volumes:
- name: mongo-storage
persistentVolumeClaim:
claimName: database-persistent-volume-claim
containers:
- name: mongodb-cont
image: mongo
ports:
- containerPort: 27017
volumeMounts:
- name: mongo-storage
mountPath: c/data-mongo
apiVersion: apps/v1
kind: Deployment
metadata:
name: mongodb-deployment
namespace: weatherapp
spec:
replicas: 1
selector:
matchLabels:
component: mongodatabase
template:
metadata:
labels:
component: mongodatabase
spec:
volumes:
- name: mongo-storage
persistentVolumeClaim:
claimName: database-persistent-volume-claim
containers:
- name: mongodb-cont
image: mongo
ports:
- containerPort: 27017
volumeMounts:
- name: mongo-storage
mountPath: /data/data-mongo
16 changes: 8 additions & 8 deletions notes.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ docker network ls

# Build and run frontend webapp
cd public
docker build -t weather-frontend-app --build-arg NODE_ENV=prod .
docker run --rm -d -p 80:80 --name weather-frontend-app weather-frontend-app
docker build -t app-frontend --build-arg NODE_ENV=prod .
docker run --rm -d -p 80:80 --name app-frontend app-frontend

# Build and run mongo
# https://github.com/docker-library/mongo/issues/74
Expand All @@ -17,8 +17,8 @@ cd server
docker run -d --name mongo-service -v mongodata:/data/db --network=mynetwork mongo

# Build and run backend server with environment variables settings.
docker build -t weather-backend-app .
docker run -d -p 30001:30001 --name weather-backend-app --network=mynetwork -e NODE_ENV=production -e ENV_SERVER_API_MONGODB_URI=mongodb://mongo-service:27017 -e ENV_SERVER_API_ALLOW_HOSTS=* -e ENV_SERVER_API_PORT=30001 weather-backend-app
docker build -t app-backend .
docker run -d -p 30001:30001 --name app-backend --network=mynetwork -e NODE_ENV=production -e ENV_SERVER_API_MONGODB_URI=mongodb://mongo-service:27017 -e ENV_SERVER_API_ALLOW_HOSTS=* -e ENV_SERVER_API_PORT=30001 app-backend

# check network -> shows 2 containers are linked: backend app container can reach mongo container.
docker inspect mynetwork
Expand All @@ -41,13 +41,13 @@ docker logs <containerId>
docker kill mongo-service
docker rm mongo-service

docker kill weather-frontend-app
docker kill app-frontend
docker kill mongo-service
docker kill weather-backend-app
docker kill app-backend

docker rm weather-frontend-app
docker rm app-frontend
docker rm mongo-service
docker rm weather-backend-app
docker rm app-backend

docker ps

Expand Down

0 comments on commit dca3420

Please sign in to comment.