Dockerfile入门案例

前言

本案例是使用python的flask项目进行构建项目以及运行镜像,docker run自定义的镜像成功后进行访问界面看到hello Docker即为成功。

代码

app.py

python 复制代码
from flask import Flask  
app = Flask(__name__)  
  
@app.route('/')  
def hello_world():  
return 'Hello, Docker!'  
  
  
if __name__ == '__main__':  
app.run(host='0.0.0.0', port=5000)

.dockerignore

bash 复制代码
__pycache__  
.git  
venv  
*.log  
.DS_Store

requirements.txt

txt 复制代码
Flask==2.0.1  
Werkzeug==2.0.3

Dockerfile

Dockerfile 复制代码
# 使用官方Python运行时作为轻量级基础镜像  
FROM python:3.9-slim  
# 设置容器内的工作目录  
WORKDIR /app  
# 先将依赖文件复制到容器中  
COPY requirements.txt .  
# 安装Python依赖(使用国内镜像源可加速构建)  
RUN pip install --no-cache-dir -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple  
# 将当前目录下的所有文件复制到容器的/app目录  
COPY . .  
# 声明容器运行时暴露的端口  
EXPOSE 5000  
# 定义容器启动后执行的命令  
CMD ["python", "app.py"]

指令

构建指令

perl 复制代码
docker build --no-cache -t my-hello-flask .

注意指令的点不要漏了

运行指令

arduino 复制代码
docker run -d -p 5000:5000 --name my-running-app my-hello-flask

结果展示

相关推荐
java_logo2 小时前
Apache Doris Docker 部署指南:实时分析数据库实战
数据库·docker·apache·doris·apache doris·轩辕镜像·docker部署doris
生活爱好者!14 小时前
我把NAS当作下载机,docker一键部署qb
运维·docker·容器
java_logo15 小时前
Docker Compose 部署 ClickHouse:快速搭建高性能列式数据库
数据库·clickhouse·docker·列式数据库·轩辕镜像·高性能数据库·clickhouse部署教程
MC皮蛋侠客15 小时前
uv 系列(七):CI/CD、Docker 与私有索引——生产级交付
python·ci/cd·docker·uv
用户2333768521818 小时前
Docker 端口"时通时不通"的排查实战
docker
做个文艺程序员18 小时前
Linux第22篇:用Docker容器化你的Java SaaS应用:一次构建,随处运行
java·docker·容器
ShiXZ21318 小时前
Redis docker-compose 部署指南
redis·docker·eureka
梦梦代码精20 小时前
基于ThinkPHP6 + Vue3的家政预约系统全解析:从LBS定位到自动派单的完整实现
java·docker·开源·php·代码规范
小的博客21 小时前
windows下安装Docker Desptop
运维·docker·容器
李迟21 小时前
我的docker随笔48:Docker版本号演进史
docker