运行一个 web 应用示例
使用docker 构建一个web 应用程序。
1 拉取镜像
docker pull training/webapp # 载入training/webapp为python测试镜像
2 创建运行容器
tiger@tiger:~$ docker run -d -p 5000:5000 training/webapp python app.py
各个选项说明:
-p : 指定端口映射,格式为:主机(宿主)端口:容器端口python app.py :容器启动后执行的指令
3 查看WEB 应用容器
tiger@tiger:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7a5ba8fd4253 training/webapp "python app.py" 3 minutes ago Up 3 minutes 0.0.0.0:5000->5000/tcp fervent_sammet
容器内部的5000 端口映射到我们本地主机的5000 端口上。
可通过快捷方式docker port 命令查询网络端口
tiger@tiger:~$ docker port fervent_sammet
5000/tcp -> 0.0.0.0:5000
4 查看WEB 应用程序日志
docker logs [ID或者名字] 可以查看容器内部的标准输出。
具体参数请输入docker logs --help 查看。
tiger@tiger:~$ docker logs -f fervent_sammet
* Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
192.168.163.1 - - [07/Jan/2021 04:12:52] "GET / HTTP/1.1" 200 -
192.168.163.1 - - [07/Jan/2021 04:12:52] "GET /favicon.ico HTTP/1.1" 404 -
5 查看WEB 应用程序容器的进程
使用docker top 来查看容器内部运行的进程。
tiger@tiger:~$ docker top fervent_sammet
UID PID PPID C STIME TTY TIME CMD
root 20776 20750 0 12:04 ? 00:00:00 python app.py
6 检查WEB 应用程序
使用docker inspect 来查看Docker 的底层信息。它会返回一个JSON 文件记录着Docker 容器的配置和状态信息。
tiger@tiger:~$ docker inspect fervent_sammet
[
{
"Id": "7a5ba8fd42533bd1f9d85214b6b66bc8033d1e9db02737803dd9d5e821c90b71",
"Created": "2021-01-07T04:04:43.337951526Z",
"Path": "python",
"Args": [
"app.py"
],
......
|