$dockerrunjava—docker

栏目:社会新闻    来源:TechWeb    阅读量:6639   作者:柳暮雪    发布时间:2021-11-27 13:00   

在上一个模块中,我们创建了示例应用程序,然后创建了一个用于构建映像的 Dockerfile我们使用命令创建了我们的图像docker build现在我们有了一个图像,我们可以运行该图像并查看我们的应用程序是否正常运行

$dockerrunjava—docker

容器是一个普通的操作系统进程,只是这个进程是隔离的,有自己的文件系统,自己的网络,以及与主机分离的自己的隔离进程树。

要在容器内运行映像,我们使用该docker run命令该docker run命令需要一个参数,即图像的名称让我们启动我们的图像并确保它正确运行

$ docker run java—docker

运行此命令后,您会注意到我们没有返回到命令提示符这是因为我们的应用程序是一个 REST 服务器,并且在循环中运行,等待传入的请求,而不会将控制权返回给操作系统,直到我们停止容器

让我们打开一个新终端,然后GET使用curl命令向服务器发出请求。接下来,当dockerps运行时,您会看到容器中的端口5000绑定到主机上的端口49155。

$ curl ——request GET

——header 'content—type: application/json'

curl: Failed to connect to localhost port 8080: Connection refused

如您所见,我们的curl命令失败了,因为与我们的服务器的连接被拒绝这意味着我们无法在端口 8080 上连接到本地主机这是意料之中的,因为我们的容器是独立运行的,包括网络让我们停止容器并使用我们本地网络上发布的端口 8080 重新启动

要停止容器,请按ctrl—c这将使您返回到终端提示

要为我们的容器发布端口,我们将在命令中使用——publish flag docker run——publish命令的格式为:. 因此,如果我们想将容器内的端口 8000 暴露给容器外的端口 8080,我们将传递8080:8000给——publish标志

启动容器并将端口 8080 暴露给主机上的端口 8080。。

$ docker run ——publish 8080:8080 java—docker

现在,让我们从上面重新运行 curl 命令。

$ curl ——request GET

——header 'content—type: application/json'

"status":"UP"

成功!我们能够通过端口 8080 连接到在容器内运行的应用程序。创建容器时,-P标志用于自动将容器中的任何网络端口映射到Docker主机上临时端口范围内的随机高端口。

现在,按 ctrl—c 停止容器。

郑重声明:此文内容为本网站转载企业宣传资讯,目的在于传播更多信息,与本站立场无关。仅供读者参考,并请自行核实相关内容。

$dockerrunjava—docker