您好,登錄后才能下訂單哦!
本篇內容介紹了“如何制作多端口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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。