云计算核心技术Docker教程:将 Node.js 的镜像作为容器运行
容器是一个普通的操作系统进程,只是这个进程是隔离的,有自己的文件系统,自己的网络,以及与主机分离的自己的隔离进程树。
要在容器内运行映像,我们使用该docker run命令。该d云计ocker run命令需要一个参数,即图像名称。让我们启动我们的图像并确保它正确运行。在终端中执行以下命令。
$ docker run node-docker
当您运行此命令时,您会注意到您算核没有返回到命令提示符。这是因为我们的应用程序是一个 REST 服务器,它将在循环中运行,等待传入的请求,而不会将控制权返回给操作系统,直到我们停止容器。
让我们打开一个新终端,然后使用心技 curl 命令向服务器发出 GET 请求。
$ curl --request POST \
--url http://localhost:8000/test \
--header 'content-type:术D application/json' \
--data '{"msg": "testing"}'
curl: (7) Failed to connect to localhost port 8000: Coconnection refused
我们的 curl 命令失败,因为与我们的服务器的连接被拒绝。这意味着我们无法在端口 8000 上连接到 localhost。这是意料之中的,因为我们的容器是ke独立运行的,包括网络。让我们停止容器并使用我们本地网络上发布的端口 8000 重新启动。
要停止容器,请按 ctrl-c。这将使您返回到终端提示。
要为我们的容器发布端口,我们将在 docker rr教un 命令上使用--publish标志(-p简称)。--publish命令的格式为[host port]:[container port]. 因此,如果我们想将容器内的端口 8000 暴露给程:容器外的端口 3000,我们会将 3000:8000 传递给 --publish 标志。
启动容器并将端口 8000 暴露给主机上的端口 8000。
$ docker run --publish 8000:800将 0 node-docker
现在让我们从上面重新运行 curl 命令。记得打开一个新的终端。
$ curl --request POST \
--url http://localhost:8000/testNo \
--header 'content-type: application/json' \
--data '{"msg": "testing"}'
{"code":"succdeess","payload":[{"msg":"testing","id":"dc0e2c2b-793d-433c-8645-b3a553ea26de","creat.jeDate":"2020-09-01T17:36:09.897Z"}]}
成功!我们能够在端口 8000 上连接到在容器内运行的应用程序。切换回运行容器的终端,您应该会看到 POST 请求记s 录到控制台。
2020-09-01T17:36:09:8770 INFO: POST /test
按 ctrl-c 停止容器。
相关文章:
- 标签: WAIC2026 世界人工智能大会 SAIL奖 WAIC Academic
- 苹果 AI 转型面临新挑战:Siri 前负责人离职,AI 搜索项目前景未卜
- ChatGPT 新功能上线!免费用户也能畅享项目管理利器
- 云安全日报210705:红帽云计算应用平台发现请求伪造特权提升漏洞,需要尽快升级
- 德国下达紧急禁令:禁止Facebook收集WhatsApp用户数据
- 标签: 易点云 2416 财报 云计算设备
- 国际区块链专利统计最新结果:蚂蚁、平安、腾讯分列申请数前三名
- 2021年将会成为主流的四个云计算技术
- 云计算开发:Python练习实例-函数调用
- 小红书上线全新 AI 办公应用 “hi”,助力高效协作
