Initial commit
This commit is contained in:
commit
fdb592deb3
2
.dockerignore
Normal file
2
.dockerignore
Normal file
@ -0,0 +1,2 @@
|
||||
node_modules
|
||||
npm-debug.log
|
18
Dockerfile
Normal file
18
Dockerfile
Normal file
@ -0,0 +1,18 @@
|
||||
# Based on node
|
||||
FROM node:13
|
||||
|
||||
# Create app directory
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
# Install app dependencies
|
||||
COPY package*.json ./
|
||||
|
||||
RUN npm install
|
||||
# RUN NPM ci --only=production
|
||||
|
||||
# Bundle app source
|
||||
COPY . .
|
||||
|
||||
EXPOSE 3000
|
||||
CMD ["node", "ask.js"]
|
||||
|
32
README.md
Normal file
32
README.md
Normal file
@ -0,0 +1,32 @@
|
||||
# Build docker image
|
||||
|
||||
% cd <app source directory>
|
||||
% docker build --tag mahesh/mma-ask-app .
|
||||
|
||||
# Run docker container
|
||||
|
||||
% docker run --publish 49330:3000 --detach
|
||||
|
||||
# Manage docker containers
|
||||
|
||||
* List running containers
|
||||
|
||||
% docker ps
|
||||
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
|
||||
d511b20c73d6 mahesh/mma-ask-app "docker-entrypoint.s…" 8 minutes ago Up 8 minutes 0.0.0.0:49330->3000/tcp upbeat_lederberg
|
||||
|
||||
* List all docker containrs
|
||||
|
||||
% docker ps --all
|
||||
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
|
||||
d511b20c73d6 mahesh/mma-ask-app "docker-entrypoint.s…" 12 minutes ago Exited (137) 3 minutes ago upbeat_lederberg
|
||||
% docker ps --all --quiet
|
||||
d511b20c73d6
|
||||
|
||||
* Stop a running container
|
||||
|
||||
% docker stop d511b20c73d6
|
||||
|
||||
* Remove a container
|
||||
|
||||
% docker rm d511b20c73d6
|
52
ask.js
Normal file
52
ask.js
Normal file
@ -0,0 +1,52 @@
|
||||
'use strict';
|
||||
|
||||
const http = require('http');
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
const hostname = '0.0.0.0';
|
||||
const port = 3000;
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
var data = {
|
||||
'canaarohihavecoffee': {
|
||||
'target': Date.parse('2020-05-24'),
|
||||
'question': "Can Aarohi have coffee"
|
||||
}
|
||||
};
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
function getPage(req) {
|
||||
var question = "Do I understand your query";
|
||||
var answer = "No!";
|
||||
|
||||
var route = req.url.substring(1);
|
||||
|
||||
console.log(`Serving route ${route}`);
|
||||
|
||||
if (route in data) {
|
||||
var scope = data[route];
|
||||
question = scope.question;
|
||||
answer = (Date.now() > scope.target) ? "Yes!" : "No!";
|
||||
}
|
||||
|
||||
return `<html>
|
||||
<head>
|
||||
<title>${question}?</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>${question}?</h1>
|
||||
<p>${answer}</p>
|
||||
</body>
|
||||
</html>`;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
const server = http.createServer((req, res) => {
|
||||
res.statusCode = 200;
|
||||
res.setHeader('Content-Type', 'text/html');
|
||||
res.write(getPage(req));
|
||||
res.end();
|
||||
console.log(`Serviced request ${req}`);
|
||||
}).listen(port, hostname, () => {
|
||||
console.log(`Server running at http://${hostname}:${port}/`);
|
||||
});
|
10
package.json
Normal file
10
package.json
Normal file
@ -0,0 +1,10 @@
|
||||
{
|
||||
"name": "mma_ask_docker_app",
|
||||
"version": "0.5",
|
||||
"description": "Ask app",
|
||||
"author": "Mahesh Asolkar <mahesh@mahesha.com>",
|
||||
"main": "ask.js",
|
||||
"scripts": {
|
||||
"start": "node ask.js"
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user