本篇内容介绍了“如何制作多端口httpserver的容器镜像”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
创建/root/myapp目录
[root@xbldockerbuild myapp]# tree /root/myapp /root/myapp ├── Dockerfile └── src └── app.js 1 directory, 2 files
其中app.js和Dockerfile 内容如下
[root@xbldockerbuild myapp]# cat src/app.js var http=require('http'); var ports = [7006, 7007, 7008, 7009]; var servers = []; var s; function reqHandler(req, res) { var serPort=req.socket.localPort; res.writeHead(200, {'Content-Type':'text/plain'}); res.write('Listening on port ' + serPort); res.end(); } ports.forEach(function(port) { s = http.createServer(reqHandler); s.listen(port); servers.push(s); });
[root@xbldockerbuild myapp]# cat Dockerfile FROM alpine:3.8 RUN apk update RUN apk add --no-cache nodejs COPY ./src /app CMD ["/usr/bin/node", "/app/app.js"] EXPOSE 7006/tcp EXPOSE 7007/tcp EXPOSE 7008/tcp EXPOSE 7009/tcp
docker build 制作容器镜像
[root@xbldockerbuild myapp]# docker build -t alpine-node-multiple-ports:v1 . Sending build context to Docker daemon 3.584 kB Step 1/9 : FROM alpine:3.8 ---> dac705114996 Step 2/9 : RUN apk update ---> Using cache ---> a822afa9e3ed Step 3/9 : RUN apk add --no-cache nodejs ---> Using cache ---> 325de7d2e3a6 Step 4/9 : COPY ./src /app ---> Using cache ---> 177b34cc5674 Step 5/9 : CMD /usr/bin/node /app/app.js ---> Using cache ---> 3c1f8e2407dc Step 6/9 : EXPOSE 7006/tcp ---> Running in 925b1e84e222 ---> eaa8e957002d Removing intermediate container 925b1e84e222 Step 7/9 : EXPOSE 7007/tcp ---> Running in 3bed5ab873f2 ---> 36a58dc9fa46 Removing intermediate container 3bed5ab873f2 Step 8/9 : EXPOSE 7008/tcp ---> Running in d059f2383111 ---> 3c8f23df8971 Removing intermediate container d059f2383111 Step 9/9 : EXPOSE 7009/tcp ---> Running in 095a0e5748c1 ---> 5c04fe5beb8c Removing intermediate container 095a0e5748c1 Successfully built 5c04fe5beb8c [root@xbldockerbuild myapp]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE alpine-node-multiple-ports v1 5c04fe5beb8c 41 seconds ago 32.6 MB
创建容器测试
[root@xbldockerbuild myapp]# docker run -d -it --name httpserver alpine-node-multiple-ports:v1 d511b5157cbdc40da55623cbf6a3c20a0317eac3e52c3239236ae1c514536044 [root@xbldockerbuild myapp]# docker ps -a |grep httpserver d511b5157cbd alpine-node-multiple-ports:v1 "/usr/bin/node /ap..." 27 seconds ago Up 26 seconds 7006-7009/tcp httpserver [root@xbldockerbuild myapp]# docker inspect httpserver | grep IPAddress "SecondaryIPAddresses": null, "IPAddress": "172.17.0.6", "IPAddress": "172.17.0.6", [root@xbldockerbuild myapp]# curl http://172.17.0.6:7006/ Listening on port 7006 [root@xbldockerbuild myapp]# curl http://172.17.0.6:7007/ Listening on port 7007 [root@xbldockerbuild myapp]# curl http://172.17.0.6:7008/ Listening on port 7008 [root@xbldockerbuild myapp]# curl http://172.17.0.6:7009/ Listening on port 7009
“如何制作多端口httpserver的容器镜像”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。