运行一个web应用
前面我们运行的容器并没有一些什么特别的用处。
接下来让我们尝试使用 docker 构建一个 web 应用程序。
我们将在docker容器中运行一个 Python Flask 应用来运行一个web应用。
w3cschool@w3cschool:~# docker run -d -P training/webapp python app.py

参数说明:
-d:让容器在后台运行。
-P:将容器内部使用的网络端口映射到我们使用的主机上。
查看 WEB 应用容器
使用 docker ps 来查看我们正在运行的容器
w3cschool@w3cschool:~$ docker ps
我们也可以指定 -p 标识来绑定指定端口。
w3cschool@w3cschool:~$ docker run -d -p 5000:5000 training/webapp python app.py
docker ps查看正在运行的容器
查看WEB应用程序日志
docker logs [ID或者名字] 可以查看容器内部的标准输出。
w3cschool@w3cschool:~$ docker logs -f 7a38a1ad55c6 * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit) 192.168.239.1 - - [09/May/2016 16:30:37] "GET / HTTP/1.1" 200 - 192.168.239.1 - - [09/May/2016 16:30:37] "GET /favicon.ico HTTP/1.1" 404 -
-f:让 dokcer logs 像使用 tail -f 一样来输出容器内部的标准输出。
从上面,我们可以看到应用程序使用的是 5000 端口并且能够查看到应用程序的访问日志。
查看WEB应用程序容器的进程
我们还可以使用 docker top 来查看容器内部运行的进程
w3cschool@w3cschool:~$ docker top determined_swanson
列出镜像列表
我们可以使用 docker images 来列出本地主机上的镜像。
w3cschool@w3cschool:~$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu 14.04 90d5884b1ee0 5 days ago 188 MB php 5.6 f40e9e0f10c8 9 days ago 444.8 MB nginx latest 6f8d099c3adc 12 days ago 182.7 MB mysql 5.6 f2e8d6c772c0 3 weeks ago 324.6 MB httpd latest 02ef73cf1bc0 3 weeks ago 194.4 MB ubuntu 15.10 4e3b13c8a266 4 weeks ago 136.3 MB hello-world latest 690ed74de00f 6 months ago 960 B training/webapp latest 6fae60ef3446 11 months ago 348.8 MB
各个选项说明:
REPOSTITORY:表示镜像的仓库源
TAG:镜像的标签
IMAGE ID:镜像ID
CREATED:镜像创建时间
SIZE:镜像大小
同一仓库源可以有多个 TAG,代表这个仓库源的不同个版本,如ubuntu仓库源里,有15.10、14.04等多个不同的版本,我们使用 REPOSTITORY:TAG 来定义不同的镜像。
所以,我们如果要使用版本为15.10的ubuntu系统镜像来运行容器时,命令如下:
w3cschool@w3cschool:~$ docker run -t -i ubuntu:15.10 /bin/bash root@d77ccb2e5cca:/#
如果要使用版本为14.04的ubuntu系统镜像来运行容器时,命令如下:
w3cschool@w3cschool:~$ docker run -t -i ubuntu:14.04 /bin/bash root@39e968165990:/#
本文介绍如何使用Docker容器化技术部署Python Flask Web应用,并详细解释了相关命令及参数的作用。
12万+

被折叠的 条评论
为什么被折叠?



