Docker触碰(二)之运行一个简单的web应用

载入镜像:

root@ubuntu:~# docker pull training/webapp  # 载入镜像
root@ubuntu:~# docker run -d -P training/webapp python app.py
e7a64ba7df2f073959097670c9c10ab1ccb2f11fa461fc6f7ebf55480141d999

参数说明:

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

查看WEB容器:

root@ubuntu:~# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                     NAMES
e7a64ba7df2f        training/webapp     "python app.py"     11 seconds ago      Up 11 seconds       0.0.0.0:32769->5000/tcp   nifty_austi

Docker 开放了 5000 端口(默认 Python Flask 端口)映射到主机端口 32769 上。

这时可以通过浏览器访问WEB应用:
这里写图片描述

也可以通过 -p 参数来设置不一样的端口:

root@ubuntu:~# docker run -d -p 5000:5000 training/webapp python app.py
9a1c8f6307aea333aefe0c227e16b8f7ca8c5b2747718771a08956ff602bb8c1
root@ubuntu:~# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                     NAMES
9a1c8f6307ae        training/webapp     "python app.py"     35 seconds ago      Up 34 seconds       0.0.0.0:5000->5000/tcp    frosty_boyd

这里写图片描述

查看WEB应用程序日志
docker logs [ID或者名字] 可以查看容器内部的标准输出:

root@ubuntu:~# docker logs 9a1c8f6307ae
 * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
192.168.0.116 - - [18/May/2018 06:25:30] "GET / HTTP/1.1" 200 -
192.168.0.116 - - [18/May/2018 06:25:30] "GET /favicon.ico HTTP/1.1" 404 -

查看WEB应用程序容器的进程
docker top 来查看容器内部运行的进程:

root@ubuntu:~# docker top 9a1c8f6307ae
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                3628                3613                0                   23:24               ?                   00:00:00            python app.py

检查WEB应用程序
使用 docker inspect 来查看Docker的底层信息,返回一个 JSON 文件记录着 Docker 容器的配置和状态信息。:
这里写图片描述

停止WEB应用容器:

root@ubuntu:~# docker stop 9a1c8f6307ae
9a1c8f6307ae
root@ubuntu:~# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                     NAMES
e7a64ba7df2f        training/webapp     "python app.py"     17 minutes ago      Up 17 minutes       0.0.0.0:32769->5000/tcp   nifty_austin

重启WEB应用容器:

root@ubuntu:~# docker stop e7a64ba7df2f
e7a64ba7df2f
root@ubuntu:~# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
root@ubuntu:~#  docker start e7a64ba7df2f
e7a64ba7df2f
root@ubuntu:~# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                     NAMES
e7a64ba7df2f        training/webapp     "python app.py"     20 minutes ago      Up 3 seconds        0.0.0.0:32770->5000/tcp   nifty_austin
root@ubuntu:~# 

移除WEB应用容器
使用 docker rm 命令来删除不需要的容器(删除容器时,容器必须是停止状态):

root@ubuntu:~# docker stop e7a64ba7df2f
e7a64ba7df2f
root@ubuntu:~# docker rm  e7a64ba7df2f
e7a64ba7df2f
root@ubuntu:~# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Radom7

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值