云计算核心技术Docker教程:将Python的镜像作为容
在上一个模块中,我们创建了示例应用程序,然后创建了一个用于生成映像的 Dockerfile。我们使用 docker 命令 docker build 创建了我们的镜像。现在我们有了一个图像,我们可以运行该图像并查看我们的应用程序是否正常运行。
容器是一个普通的操作系统进程,除了这个进程是隔离的,因为它有自己的文件系统,自己的网络,以及与主机分离的自己的隔离进程树。
要在容器内运行映像,我们使用该docker run命令。该docker run命令需要一个参数,即图像的名称。让我们启动我们的图像并确保它正确运行。在终端中运行以下命令。
$ docker run python-docker
运行此命令后,您会注意到您没有返回到命令提示符。这是因为我们的应用程序是一个 REST 服务器,并且在循环中运行,等待传入的请求,而不会将控制权返回给操作系统,直到我们停止容器。
让我们打开一个新终端,然后GET使用curl命令向服务器发出请求。
$ curl localhost:5000
curl: (7) Failed to connect to localhost port 5000: Connection refused
如您所见,我们的curl命令失败了,因为与我们的服务器的连接被拒绝。这意味着,我们无法在端口 5000 上连接到本地主机。这是意料之中的,因为我们的容器是独立运行的,包括网络。让我们停止容器并使用我们本地网络上发布的端口 5000 重新启动。
要停止容器,请按 ctrl-c。这将使您返回到终端提示。
要为我们的容器发布端口,我们将在命令中使用--publish flag(-p简称) docker run。--publish命令的格式为[host port]:[container port]. ,如果我们想将容器内的端口 5000 暴露给容器外的端口 3000,我们将传递3000:5000给--publish标志。
我们在容器中运行 Flask 应用程序时没有指定端口,默认是 5000。如果我们希望我们之前的请求在 5000 端口工作,我们可以将主机的 5000 端口映射到容器的 5000 端口
$ docker run --publish 5000:5000 python-docker
现在,让我们从上面重新运行 curl 命令。记得打开一个新的终端。
$ curl localhost:5000
Hello, Docker!
成功!我们能够通过端口 5000 连接到在容器内运行的应用程序。切换回运行容器的终端,您应该会看到 GET 请求记录到控制台。
[31/Jan/2021 23:39:31] "GET / HTTP/1.1" 200 -
按 ctrl-c 停止容器。
人工智能培训
- 真正能和人交流的机器人什么时候实现
- 国产机器人成功完成首例远程冠脉介入手术
- 人工智能与第四次工业革命
- 未来30年的AI和物联网
- 新三板创新层公司东方水利新增专利授权:“一
- 发展人工智能是让人和机器更好地合作
- 新春贺喜! 经开区持续推进工业互联网平台建设
- 以工业机器人为桥 传统企业如何趟过智造这条河
- 山立滤芯SAGL-1HH SAGL-2HH
- 2015国际智能星创师大赛火热报名中!
- 未来机器人会咋看人类?递归神经网络之父-像蚂
- 成都新川人工智能创新中心二期主体结构封顶
- 斯坦德机器人完成数亿元人民币C轮融资,小米产
- 到2020年,智能手机将拥有十项AI功能,有些可能
- 寻找AI机器人的增长“跳板”:老龄化为支点的产
- 力升高科耐高温消防机器人参加某支队性能测试