构建自定义Docker容器实例

本文介绍如何使用Node.js创建一个简单的Web服务,并通过Docker进行打包部署。包括Dockerfile的编写、构建Docker镜像及运行容器的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

测试工程NodeHello

在此文件夹下,有文件Dockerfile、hi.js。Dockerfile内容为

FROM node:7.9.0

COPY .  /app

WORKDIR /app

hi.js内容为:

var http=require("http")
var url=require("url");
var util=require("util");

function onRequest(request, response){
	console.log("Request received");
	var pathName = url.parse(request.url).pathname;
	console.log("Request path: " + pathName);	
		

	response.writeHead(200, {"Content-Type":"text/plain"});
	//response.write("Hello World");
	//response.write(util.inspect(url.parse(request.url, true)));
	var params = url.parse(request.url, true).query;
	response.write("site name: " + params.name);
	response.write("\n");
	response.write("site url: " + params.url);
	
	response.end();
}
	
http.createServer(onRequest).listen(8888);
console.log("Server has started");

编译Docker

切换到NodeHello目录下

sudo docker build -t sim/nodehello-docker  .
执行结果如下:

Sending build context to Docker daemon  3.584kB
Step 1/3 : FROM node:7.9.0
7.9.0: Pulling from library/node
cd0a524342ef: Pull complete 
e39c3ffe4133: Pull complete 
85334a7c2001: Pull complete 
4c546d9d6a84: Pull complete 
fa1ae2b8eedb: Pull complete 
2e2f1cff6e9f: Pull complete 
aa7b15936229: Pull complete 
04b1d7bd151d: Pull complete 
Digest: sha256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Status: Downloaded newer image for node:7.9.0
 ---> 90223b3d894e
Step 2/3 : COPY . /app
 ---> 2021694e684d
Removing intermediate container d49c59e28b08
Step 3/3 : WORKDIR /app
 ---> fbc14c07e266
Removing intermediate container 0a40d8f98dbf
Successfully built fbc14c07e266
Successfully tagged sim/nodehello-docker:late

运行容器

运行容器并将内部8888端口映射到外部的3001端口

docker run -d -p 3001:8888 sim/nodehello-docker   node ./hi.js

访问容器内的Web服务




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值