Docker - WEB应用实例

原文地址,使用效果更佳!

Docker - WEB应用实例 | CoderMast编程桅杆Docker - WEB应用实例 在之前的章节中,仅对普通容器进行了演示,但在实际中常常使用到 Docker 容器中的 WEB 应用程序。 运行一个WEB应用 拉取镜像 创建一个容器 这里出现了警告信息,是因为我的电脑是 M1 芯片,是 ARM 架构,而所需要的平台是请求的映像的平台(linux/aamd64)与检测到的主机平台(linux/alm64...https://www.codermast.com/dev-tools/docker/docker-web-containers.html

在之前的章节中,仅对普通容器进行了演示,但在实际中常常使用到 Docker 容器中的 WEB 应用程序。

运行一个WEB应用

  1. 拉取镜像

    docker pull training/webapp

  1. 创建一个容器

    docker run -d -P training/webapp python app.py

这里出现了警告信息,是因为我的电脑是 M1 芯片,是 ARM 架构,而所需要的平台是请求的映像的平台(linux/aamd64)与检测到的主机平台(linux/alm64/v8)不匹配,这里每个人的电脑环境不同,不必理会。

  • -d:让容器在后台运行。

  • -P:将容器内部使用的网络端口随机映射到我们使用的主机上。

  • -p:是容器内部端口绑定到指定的主机端口。

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

即将本机的 5001 端口绑定到容器内部的 5000 端口上。

查看WEB应用容器

复制代码
docker ps

我们看到这里增加了端口的映射,0.0.0.0:55000->5000/tcp,即将本地 IP 的 55000 端口,映射到了该 Docker 容器中的 5000 端口,即我们在本地访问 55000 端口,即可访问该 Docker 容器。

自定义网络端口映射

在上面的例子中,使用 -p 参数映射到主机上的端口是随机的,下面我们对其进行端口的自定义操作。

为了便于和前面创建的容器进行区分,我们再创建一个容器。

复制代码
docker run -d -p 55001:5000 training/webapp python app.py

访问 localhost:55001

补充

端口映射既可以是本地端口映射,也可以是网络端口映射,即将 Docker 容器中的端口直接映射到某个指定的网络 IP 的端口。

  • 本地端口映射:5000/tcp -> 0.0.0.0:5001
  • 网络端口映射:5000/tcp -> 123.23.46.123:5001

另外,这里的端口映射默认都是 TCP 端口,也可以指定为 UDP 端口,在端口后面加上 /udp 即可。

查看端口映射信息

复制代码
docker port focused_boyd 5000

该指令即查看名为 focused_boyd 的 Docker 容器的 5000 端口映射到什么位置。

停止WEB应用容器

WEB 应用容器,本身就是一个 Docker 容器,使用 Docker 本身的停止命令即可。

复制代码
# 通过 Docker 容器名称停止
docker stop busy_hodgkin

# 通过 Docker 容器 ID 停止
docker stop af9b91fa3cc6

重启WEB应用容器

复制代码
# 通过 Docker 容器名称重启
docker restart busy_hodgkin

# 通过 Docker 容器 ID 重启
docker restart af9b91fa3cc6

删除WEB应用容器

复制代码
docker rm busy_hodgkin

这里要注意,该指令是无法直接删除运行中的容器,想要直接删除需要加上 -f 选项

复制代码
docker rm -f busy_hodgkin
相关推荐
Mr. Cao code1 小时前
Docker:颠覆传统虚拟化的轻量级革命
linux·运维·ubuntu·docker·容器
Dontla1 小时前
Docker多共享网络配置策略(Docker多网络、Docker networks、Docker Compose网络、Docker网络、Docker共享网络)
网络·docker·容器
wanhengidc1 小时前
云手机运行流畅,秒开不卡顿
运维·网络·科技·游戏·智能手机
Jayin_chan2 小时前
paddlex3.0.1-ocr服务化安装部署(docker)
docker·容器·ocr
ifanatic2 小时前
[每周一更]-(第159期):Go 工程师视角:容器化技术(Docker/Kubernetes)与CI/CD流程的应用场景
docker·golang·kubernetes
笨小孩@GF 知行合一2 小时前
OSPF实验:外部路由引入
运维·网络·hcip·数通·ospf
asdfg12589632 小时前
为什么要在出口路由器router配置NAT与默认路由
运维·网络·计算机网络
bug攻城狮3 小时前
Skopeo 工具介绍与 CentOS 7 安装指南
linux·运维·centos
宇宙第一小趴菜3 小时前
08 修改自己的Centos的软件源
linux·运维·centos
bug攻城狮3 小时前
彻底禁用 CentOS 7.9 中 vi/vim 的滴滴声
linux·运维·服务器·centos·vim