Docker笔记-运行一个web应用

Docker笔记-运行一个web应用

1、启动

前面我们运行的容器并没有一些什么特别的用处。

接下来让我们尝试使用 docker 构建一个 web 应用程序。

我们将在docker容器中运行一个 Python Flask 应用来运行一个web应用。

# 载入镜像
$ docker pull training/webapp  

在这里插入图片描述

# 启动
$ docker run -d -P training/webapp python app.py

在这里插入图片描述

参数说明:

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

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

$ docker ps

在这里插入图片描述

这里多了端口信息。

PORTS
0.0.0.0:49153->5000/tcp

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

这时我们可以通过浏览器访问WEB应用

在这里插入图片描述

2、自己指定端口映射

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

$ docker run -d -p 5000:5000 training/webapp python app.py

docker ps 查看正在运行的容器:

[root@zsx ~]# docker ps -a
CONTAINER ID   IMAGE             COMMAND           CREATED          STATUS                        PORTS                                       NAMES
1634d206ebef   training/webapp   "python app.py"   18 seconds ago   Up 17 seconds                 0.0.0.0:5000->5000/tcp, :::5000->5000/tcp   tender_sanderson

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

3、网络端口的快捷方式

通过 docker ps 命令可以查看到容器的端口映射,docker 还提供了另一个快捷方式 docker port,使用

docker port 可以查看指定 (ID 或者名字) 容器的某个确定端口映射到宿主机的端口号。

上面我们创建的 web 应用容器 ID 为 1634d206ebef 名字为 tender_sanderson

我可以使用 docker port 1634d206ebefdocker port tender_sanderson 来查看容器端口的映射情况。

$ docker port 1634d206ebef
5000/tcp -> 0.0.0.0:5000
$ docker port tender_sanderson
5000/tcp -> 0.0.0.0:5000

在这里插入图片描述

4、查看 WEB 应用程序日志

docker logs [ID或者名字]可以查看容器内部的标准输出。

$ docker logs -f 1634d206ebef

在这里插入图片描述

-f:让 docker logs 像使用 tail -f 一样来输出容器内部的标准输出。

从上面,我们可以看到应用程序使用的是 5000 端口并且能够查看到应用程序的访问日志。

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

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

$ docker top 1634d206ebef

在这里插入图片描述

6、检查WEB应用程序

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

息。

$ docker inspect 1634d206ebef

在这里插入图片描述

7、停止WEB应用容器

$ docker stop 1634d206ebef   

8、重启WEB应用容器

已经停止的容器,我们可以使用命令 docker start来启动。

$ docker start 1634d206ebef

docker ps -l查询最后一次创建的容器:

$ docker ps -l 

在这里插入图片描述

正在运行的容器,我们可以使用 docker restart 命令来重启。

9、移除WEB应用容器

我们可以使用 docker rm 命令来删除不需要的容器

$ docker rm 1634d206ebef

删除容器时,容器必须是停止状态,否则会报如下错误

$ docker rm 1634d206ebef
Error response from daemon: You cannot remove a running container bf08b7f2cd897b5964943134aa6d373e355c286db9b9885b1f60b6e8f82b2b85. Stop the container before attempting removal or force remove

可以使用

$ docker rm -f 1634d206ebef
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值