• docker学习端口映射---第二章节


    一.运行一个web应用

    首先,下载一个docker镜像:

    [root@k8s-01 ~]# docker pull training/webapp
    

    运行webapp的容器:

    [root@k8s-01 ~]# docker run -d -P training/webapp python app.py 
    cb2ea5793288ada7c8be553befab76d7516e4a65999680aefeb531d000888634
    

    参数说明:

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

    二.查看WEB应用容器

    docker ps -l显示最新创建的容器
    查看我们正在运行的webapp容器:

    [root@k8s-01 ~]# docker ps -l
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                     NAMES
    cb2ea5793288        training/webapp     "python app.py"     54 seconds ago      Up 54 seconds       0.0.0.0:32768->5000/tcp   laughing_engelbart
    

    可以发现,多了端口信息。docker开放的5000端口映射到主机端口32768上。可以通过浏览器访问WEB应用:

    这里我们还可以通过-p参数来设置不一样的端口:

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

    查看运行的容器:

    [root@k8s-01 ~]# docker ps -l
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                    NAMES
    c5acdbc01395        training/webapp     "python app.py"     52 seconds ago      Up 51 seconds       0.0.0.0:5000->5000/tcp   pensive_mestorf
    

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

    三.查看网络端口的快捷方式

    我们可以通过docker ps命令查看容器的端口映射。docker还提供了另一个快捷方式docker port,使用docker port可以查看指定(容器ID或者名称)容器的某个确定端口映射到宿主机的端口号

    [root@k8s-01 ~]# docker port c5acdbc01395 && docker port pensive_mestorf
    5000/tcp -> 0.0.0.0:5000
    5000/tcp -> 0.0.0.0:5000
    

    四.查看docker容器应用程序日志输出

    [root@k8s-01 ~]# docker logs -f c5acdbc01395 
     * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
    

    这里可以像使用tail -f 一样来输出容器内部的标准输出

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

    我们可以通过docker top来查看容器内部运行的进程

    [root@k8s-01 ~]# docker top c5acdbc01395 
    UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
    root                2358409             2358392             0                   04:10               ?                   00:00:00            python app.py
    

    六.检查WEB应用容器的配置和状态信息

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

    [root@k8s-01 ~]# docker inspect c5acdbc01395 
    [
        {
            "Id": "c5acdbc01395c4d4d38438bc8351fd0820d2ac60c6c8e4924c28f600d0f83c78",
            "Created": "2018-12-20T09:10:33.039244936Z",
            "Path": "python",
            "Args": [
                "app.py"
            ],
            "State": {
                "Status": "running",
                "Running": true,
                "Paused": false,
                "Restarting": false,
                "OOMKilled": false,
                "Dead": false,
                "Pid": 2358409,
                "ExitCode": 0,
                "Error": "",
                "StartedAt": "2018-12-20T09:10:33.400703462Z",
                "FinishedAt": "0001-01-01T00:00:00Z"
            },
    .........
    

    七.删除web应用容器

    使用docker rm命令删除容器
    删除前,需要停止容器,否则会报错

    [root@k8s-01 ~]# docker stop c5acdbc01395 
    c5acdbc01395
    

    删除容器

    [root@k8s-01 ~]# docker rm c5acdbc01395 
    c5acdbc01395
    

    参考链接:http://www.runoob.com/docker/docker-container-usage.html

  • 相关阅读:
    Python之路【第八篇】(一)python基础 之计算机操作系统发展史
    Python之路【第六篇】python基础 之异常处理
    Python之路【第七篇】python基础 之socket网络编程
    Python之路【第六篇】python基础 之面向对象进阶
    Python之路【第六篇】python基础 之面向对象(一)
    Fastdfs 部署干货
    Mysql 优化配置2
    Elk 进阶部署
    Elk
    python pickle
  • 原文地址:https://www.cnblogs.com/yuhaohao/p/10150685.html
Copyright © 2020-2023  润新知