千家信息网

如何制作多端口httpserver的容器镜像

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,本篇内容介绍了"如何制作多端口httpserver的容器镜像"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有
千家信息网最后更新 2025年02月01日如何制作多端口httpserver的容器镜像

本篇内容介绍了"如何制作多端口httpserver的容器镜像"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

  1. 创建/root/myapp目录

    [root@xbldockerbuild myapp]# tree /root/myapp/root/myapp├── Dockerfile└── src    └── app.js1 directory, 2 files


  2. 其中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.8RUN apk updateRUN apk add --no-cache nodejsCOPY ./src /appCMD ["/usr/bin/node", "/app/app.js"]EXPOSE 7006/tcpEXPOSE 7007/tcpEXPOSE 7008/tcpEXPOSE 7009/tcp


  3. docker build 制作容器镜像

    [root@xbldockerbuild myapp]# docker build -t alpine-node-multiple-ports:v1 .Sending build context to Docker daemon 3.584 kBStep 1/9 : FROM alpine:3.8 ---> dac705114996Step 2/9 : RUN apk update ---> Using cache ---> a822afa9e3edStep 3/9 : RUN apk add --no-cache nodejs ---> Using cache ---> 325de7d2e3a6Step 4/9 : COPY ./src /app ---> Using cache ---> 177b34cc5674Step 5/9 : CMD /usr/bin/node /app/app.js ---> Using cache ---> 3c1f8e2407dcStep 6/9 : EXPOSE 7006/tcp ---> Running in 925b1e84e222 ---> eaa8e957002dRemoving intermediate container 925b1e84e222Step 7/9 : EXPOSE 7007/tcp ---> Running in 3bed5ab873f2 ---> 36a58dc9fa46Removing intermediate container 3bed5ab873f2Step 8/9 : EXPOSE 7008/tcp ---> Running in d059f2383111 ---> 3c8f23df8971Removing intermediate container d059f2383111Step 9/9 : EXPOSE 7009/tcp ---> Running in 095a0e5748c1 ---> 5c04fe5beb8cRemoving intermediate container 095a0e5748c1Successfully built 5c04fe5beb8c[root@xbldockerbuild myapp]# docker imagesREPOSITORY                                                   TAG                 IMAGE ID            CREATED             SIZEalpine-node-multiple-ports                                   v1                  5c04fe5beb8c        41 seconds ago      32.6 MB


  4. 创建容器测试

    [root@xbldockerbuild myapp]# docker run -d -it --name httpserver alpine-node-multiple-ports:v1d511b5157cbdc40da55623cbf6a3c20a0317eac3e52c3239236ae1c514536044[root@xbldockerbuild myapp]# docker ps -a |grep httpserverd511b5157cbd        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的容器镜像"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

0