docker(5)docker运行web应用

docker(5)docker运行web应用前言前面我们运行的容器并没有一些什么特别的用处。接下来让我们尝试使用docker构建一个web应用程序。我们将在docker容器中运行一个PythonFlask应用来运行一个web

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

前言

前面我们运行的容器并没有一些什么特别的用处。
接下来让我们尝试使用 docker 构建一个 web 应用程序。
我们将在docker容器中运行一个 Python Flask 应用来运行一个web应用。
 

运行一个web容器

docker pull training/webapp  # 载入镜像
 docker run -d -P training/webapp python app.py
[root@jkc easymock]# docker run -d -P training/webapp python app.py
e8365788c20ff883c97718444959c52f995ea6c38713a23a2f4ed1421ab65368
[root@jkc easymock]# 

参数说明:

  • -d:让容器在后台运行。
  • -P:将容器内部使用的网络端口随机映射到我们使用的主机上。
     

查看 WEB 应用容器

使用 docker ps 来查看我们正在运行的容器:

[root@jkc ~]# docker ps
CONTAINER ID        IMAGE                     COMMAND                  CREATED             STATUS              PORTS                     NAMES
e8365788c20f        training/webapp           "python app.py"          31 minutes ago      Up 31 minutes       0.0.0.0:49153->5000/tcp   dazzling_mcnulty

这里多了端口信息。

PORTS
0.0.0.0:49153->5000/tcp

Docker 开放了 5000 端口(默认 Python Flask 端口)映射到主机端口 49153 上。
这时我们可以通过浏览器访问WEB应用
docker(5)docker运行web应用
我们也可以通过 -p 参数来设置不一样的端口:

[root@jkc ~]# docker run -d -p 5000:5000 training/webapp python app.py

docker ps查看正在运行的容器

[root@jkc ~]# docker ps
CONTAINER ID        IMAGE                     COMMAND                  CREATED             STATUS              PORTS                    NAMES
0d3fe01b6c13        training/webapp           "python app.py"          36 seconds ago      Up 35 seconds       0.0.0.0:5000->5000/tcp   lucid_lederberg

容器内部的 5000 端口映射到我们本地主机的 5000 端口上。
 

网络端口的快捷方式

通过docker ps命令可以查看到容器的端口映射,docker 还提供了另一个快捷方式 docker port,使用docker port可以查看指定 (ID 或者名字)容器的某个确定端口映射到宿主机的端口号。
上面我们创建的 web 应用容器 ID 为 0d3fe01b6c13 名字为 lucid_lederberg。
我可以使用 docker port 0d3fe01b6c13 或 docker port lucid_lederberg 来查看容器端口的映射情况。

[root@jkc ~]# docker port 0d3fe01b6c13
5000/tcp -> 0.0.0.0:5000
[root@jkc ~]# docker port lucid_lederberg
5000/tcp -> 0.0.0.0:5000
[root@jkc ~]# 

 

查看WEB应用程序容器的进程

我们还可以使用 docker top 来查看容器内部运行的进程

[root@jkc ~]# docker top 0d3fe01b6c13
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                23464               23421               0                   16:09               ?                   00:00:00            python app.py

 

检查 WEB 应用程序

使用 docker inspect 来查看 Docker 的底层信息。它会返回一个 JSON 文件记录着 Docker 容器的配置和状态信息。

[root@jkc ~]# docker inspect e8365788c20f
[
    {
        "Id": "e8365788c20ff883c97718444959c52f995ea6c38713a23a2f4ed1421ab65368",
        "Created": "2021-01-22T07:26:49.225684861Z",
        "Path": "python",
        "Args": [
            "app.py"
        ],
        "State": {
            "Status": "exited",
            "Running": false,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 0,
            "ExitCode": 137,
            "Error": "",
            "StartedAt": "2021-01-22T07:26:49.59638614Z",
            "FinishedAt": "2021-01-22T08:09:05.22474156Z"
        },
.......

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/165005.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • centos7.4安装docker_pythondocker

    centos7.4安装docker_pythondocker前言当我们在一台电脑上搭建了python3.6的环境,下次换台电脑,又得重新搭建一次,设置环境变量等操作。好不容易安装好,一会提示pip不是内部或外部命令,一会又提示pip:commandno

    2022年7月31日
    9
  • docker入门(三):容器数据卷与DockerFile脚本,使用阿里云镜像仓库[通俗易懂]

    docker入门(三):容器数据卷与DockerFile脚本,使用阿里云镜像仓库[通俗易懂]一、容器数据卷用于数据保存和持久化,简单的理解,就是容器和主机共享的一个公共硬盘,举个例子,原本tomcat部署应用,或者查看日志还需要进入容器,现在将日志文件夹和部署文件夹拿出来挂载到主机,就可以

    2022年8月16日
    9
  • docker 中国站 www.dockerpool.com 报价图片下载

    docker 中国站 www.dockerpool.com 报价图片下载

    2022年1月17日
    37
  • docker打包镜像到本地_如何从虚拟机导出镜像

    docker打包镜像到本地_如何从虚拟机导出镜像引言当我们在测试环境(本文特指docker容器)部署好自己得服务得时候,想在生产环境上部署我们得服务,又害怕环境不一样导致服务不能运行,那么这个时候就可以把我们得容器导出为镜像,然后再把镜像导出为压缩包,接下来把压缩包复制到我们的生产环境,然后在生产环境把压缩包导入为镜像,最后使用此镜像开一个容器,然后在容器内打开我们的服务,那么我们的服务就可以正常运行啦!环境简介系统环境:ubuntu18.04如果要在新的服务器使用我们的镜像,那么需要新的服务器和你测试环境的服务器的底层系统一致,即如果你测试环

    2025年9月21日
    9
  • docker使用教程视频_docker到底怎么用

    docker使用教程视频_docker到底怎么用前言docker主要用于运维,当然了,开发也可以用,可以在启动应用项目的时候使用docker方式,docker是虚拟化技术,每一个docker容器都是一个linux虚拟机,而且还可以根据不同的应用定制,最小的可以直接依赖linux内核,仅仅几M就可以运行。下面,正式开始。 注意:如果是使用docker-compose方式,只看到第三的第6即可。 一、安装dockercent…

    2022年10月15日
    4
  • playbook安装docker

    playbook安装docker

    2021年6月1日
    144

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号