ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Docker实战:使用Docker部署Web应用程序

Docker实战:使用Docker部署Web应用程序 Docker实战使用Docker部署Web应用程序前言在掌握了Docker基础操作后我们将进入实战环节 - 使用Docker部署Web应用程序。本文将从静态网站部署开始逐步深入到自定义镜像构建帮助开发者全面理解Docker在Web应用部署中的应用。静态网站容器化部署准备工作首先我们从最简单的静态网站开始。Docker官方提供了一个名为dockersamples/static-site的示例镜像非常适合初学者练习。运行静态网站容器执行以下命令启动容器docker run -d dockersamples/static-site这里使用了-d参数让容器在后台运行detached模式。由于镜像是首次使用Docker会自动从仓库拉取。端口映射问题初次运行后你会发现无法访问网站这是因为我们没有指定端口映射。Docker容器默认是隔离的环境需要显式地将容器端口映射到主机端口。正确运行方式先停止并移除之前的容器docker stop 容器ID docker rm 容器ID然后使用以下命令重新运行docker run --name static-site -e AUTHOR你的名字 -d -P dockersamples/static-site参数说明--name为容器命名-e设置环境变量-P自动映射所有暴露的端口到主机随机端口访问网站使用docker port static-site查看端口映射情况然后在浏览器访问对应的主机端口即可看到网站。深入理解Docker镜像镜像基础概念Docker镜像是容器的基础类似于面向对象中的类。可以通过docker images查看本地镜像列表。镜像分为几种类型基础镜像没有父镜像通常是操作系统镜像子镜像基于基础镜像构建添加了额外功能官方镜像由Docker官方维护用户镜像由用户创建并分享镜像版本管理与Git类似Docker镜像也有版本控制。默认使用latest标签但可以指定特定版本docker pull ubuntu:18.04构建自定义镜像项目准备我们将构建一个展示随机猫咪图片的Flask应用镜像。创建项目目录结构如下flask-app/ ├── app.py ├── requirements.txt ├── templates/ │ └── index.html └── DockerfileFlask应用代码app.py是应用主文件从预设的URL列表中随机选择一张猫咪图片展示。requirements.txt指定了Python依赖Flask框架。templates/index.html是网页模板定义了展示样式。Dockerfile详解Dockerfile是构建镜像的蓝图我们基于轻量级的Alpine Linux构建# 基础镜像 FROM alpine:3.5 # 安装Python和pip RUN apk add --update py2-pip # 安装Python依赖 COPY requirements.txt /usr/src/app/ RUN pip install --no-cache-dir -r /usr/src/app/requirements.txt # 复制应用文件 COPY app.py /usr/src/app/ COPY templates/index.html /usr/src/app/templates/ # 暴露端口 EXPOSE 5000 # 启动命令 CMD [python, /usr/src/app/app.py]构建与运行在Dockerfile所在目录执行构建docker build -t my-flask-app .运行容器docker run -p 5000:5000 my-flask-app现在访问http://localhost:5000就能看到随机猫咪图片了总结通过本文我们学习了使用现有镜像部署静态网站理解Docker镜像的基本概念编写Dockerfile构建自定义镜像部署Python Flask应用这些技能是使用Docker部署Web应用的基础掌握了它们你就已经迈入了容器化部署的大门。创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表