Skref 1: Búðu til Node forritið þitt
Skref 2: Búðu til Dockerfile
Skref 3: Búðu til mynd
Skref 4: Dreifðu og prófaðu forritið
Þessi grein mun sýna þér hvernig á að dreifa Node forritinu þínu í Docker gám.
Athugið: Þessi kennsla gerir ráð fyrir að þú hafir Docker uppsettan og tilbúinn til notkunar.
Skref 1: Búðu til Node forritið þitt
Búðu til möppu sem heitir src
. Við munum nota þá möppu. Búðu til skrá með nafninu sem src/package.json
inniheldur eftirfarandi:
{
"name": "hello_world",
"private": true,
"version": "0.0.1",
"description": "Hello world Example",
"author": "",
"dependencies": {
"express": "3.2.4"
}
}
Búðu nú til a sem src/index.js
inniheldur eftirfarandi:
var express = require('express');
var app = express();
app.get('/', function (req, res) {
res.send('Hello from Docker\n');
});
app.listen(8080);
console.log('Running on http://localhost:8080');
Vinsamlegast veistu að þú getur breytt höfninni 8080
í hvað sem þú vilt, en fyrir þetta dæmi munum við afhjúpa þessa höfn til notkunar fyrir forritið okkar. Þegar þú hefur búið til þessar tvær skrár geturðu haldið áfram í næsta skref.
Skref 2: Búðu til Dockerfile
„Dockerfile“ gerir þér kleift að smíða og dreifa Docker-myndum byggðar á leiðbeiningunum sem þú hefur gefið í henni. Búðu til skrá sem heitir Dockerfile
og fylltu hana út með eftirfarandi efni:
FROM centos:latest
MAINTAINER Name Here <username@localhost>
RUN rpm -Uvh http://mirror.pnl.gov/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
RUN yum install nodejs npm -y
COPY ./src /opt/src
RUN cd /opt/src; npm install
EXPOSE 8080
CMD ["node", "/opt/src/index.js"]
Skýring:
FROM centos:latest
This will use an image called centos
. If there is no image available on your host, Docker will pull one from its repository.
MAINTAINER Name Here <username@localhost>
This instruction allows you to set the author for the image being created.
RUN rpm -Uvh http://mirror.pnl.gov/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
RUN yum install nodejs npm -y
…
RUN cd /opt/src; npm install
"RUN" will execute the shell commands given. In this example, it will download the epel-release rpm and install it, and install nodejs and npm from its repository. After the next operation, it will cd into the project directory and run npm install
to install dependencies for your application.
COPY ./src /opt/src
Copy the directory (and files) from the host into the container.
EXPOSE 8080
Open port 8080 for the outside world to use.
CMD ["node", "/opt/src/index.js"]
CMD
will provide default execution for the container.
Þegar þú hefur búið til skrána nákvæmlega eins og hún er sýnd hér að ofan geturðu haldið áfram í næsta skref.
Skref 3: Búðu til mynd
Til að byggja myndina þína skaltu keyra eftirfarandi skipun:
docker build -t name/application .
Þetta mun búa til mynd með heiti geymslunnar name/application
. Ef það eru engar villur geturðu haldið áfram í næsta skref.
Skref 4: Dreifðu og prófaðu forritið
Nú þegar allt er uppsett geturðu keyrt myndina þína með því að keyra eftirfarandi:
docker run -p 49160:8080 -d name/application
Til að prófa forritið þitt skaltu keyra eftirfarandi skipun frá gestgjafanum:
curl http://172.17.42.1:49160/
Ef þú sérð Hello from Docker
þá hefur þú sett Docker myndina þína upp með góðum árangri. Ef þú vilt prófa þetta með vafranum þínum skaltu fara http://[SERVER_IP]:49160
úr vafranum þínum (skipta um IP tölu í samræmi við það) og þú munt sjá sömu skilaboðin.