1. darbība. Izveidojiet savu Node lietojumprogrammu
2. darbība: izveidojiet Docker failu
3. darbība. Izveidojiet attēlu
4. darbība. Izvietojiet un pārbaudiet lietojumprogrammu
Šajā rakstā tiks parādīts, kā Docker konteinerā izvietot savu Node lietojumprogrammu.
Piezīme. Šajā apmācībā tiek pieņemts, ka Docker ir instalēts un gatavs lietošanai.
1. darbība. Izveidojiet savu Node lietojumprogrammu
Izveidojiet direktoriju ar nosaukumu src
. Mēs izmantosim šo direktoriju. Izveidojiet failu ar nosaukumu, kas src/package.json
satur šādu informāciju:
{
"name": "hello_world",
"private": true,
"version": "0.0.1",
"description": "Hello world Example",
"author": "",
"dependencies": {
"express": "3.2.4"
}
}
Tagad izveidojiet failu, src/index.js
kurā ir:
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');
Lūdzu, ņemiet vērā, ka varat mainīt portu 8080
uz visu, ko vēlaties, taču šajā piemērā mēs parādīsim šo portu mūsu lietojumprogrammai. Kad esat izveidojis šos divus failus, varat pāriet uz nākamo darbību.
2. darbība: izveidojiet Docker failu
"Dockerfile" ļauj izveidot un izvietot Docker attēlus, pamatojoties uz tajā sniegto norādījumu kopu. Izveidojiet failu ar nosaukumu Dockerfile
un aizpildiet to ar šādu saturu:
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"]
Paskaidrojums:
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.
Kad esat izveidojis failu tieši tā, kā tas parādīts iepriekš, varat pāriet uz nākamo darbību.
3. darbība: izveidojiet attēlu
Lai izveidotu attēlu, palaidiet šādu komandu:
docker build -t name/application .
Tādējādi tiks izveidots attēls ar repozitorija nosaukumu name/application
. Ja kļūdu nav, varat pāriet uz nākamo darbību.
4. darbība. Izvietojiet un pārbaudiet lietojumprogrammu
Tagad, kad viss ir iestatīts, varat palaist attēlu, izpildot tālāk norādītās darbības.
docker run -p 49160:8080 -d name/application
Lai pārbaudītu lietojumprogrammu, palaidiet šo resursdatora komandu:
curl http://172.17.42.1:49160/
Ja redzat, Hello from Docker
esat veiksmīgi izvietojis savu Docker attēlu. Ja vēlaties to pārbaudīt savā pārlūkprogrammā, apmeklējiet http://[SERVER_IP]:49160
savu pārlūkprogrammu (attiecīgi nomainiet IP adresi), un jūs redzēsit to pašu ziņojumu.