首页 > 其他分享 >构建HTTP Server容器Docker构建一个简单的HTTP Server。

构建HTTP Server容器Docker构建一个简单的HTTP Server。

时间:2024-06-05 19:11:57浏览次数:19  
标签:HTTP self server 构建 http Docker Server

构建HTTP Server容器Docker构建一个简单的HTTP Server。
HTTP Server在访问根路径 / 时返回 "Hello, World!"。
提供完整的Dockerfile和启动命令。

步骤1: 创建HTTP Server的Python脚本

首先,创建一个目录来存放HTTP Server文件:

mkdir http_server
cd http_server

在这个目录中,创建一个Python脚本 server.py

# server.py
from http.server import SimpleHTTPRequestHandler, HTTPServer

class MyHandler(SimpleHTTPRequestHandler):
    def do_GET(self):
        if self.path == '/':
            self.send_response(200)
            self.send_header('Content-type', 'text/html')
            self.end_headers()
            self.wfile.write(b"Hello, World!")
        else:
            self.send_error(404, "File Not Found")

if __name__ == "__main__":
    server_address = ('', 8080)
    httpd = HTTPServer(server_address, MyHandler)
    print("Starting HTTP server on port 8080")
    httpd.serve_forever()

步骤2: 创建Dockerfile

在同一目录下创建一个名为 Dockerfile 的文件:

# Dockerfile
FROM python:3.9-slim

WORKDIR /app

COPY server.py /app/server.py

EXPOSE 8080

CMD ["python", "server.py"]

步骤3: 构建Docker镜像

在终端中执行以下命令来构建Docker镜像:

docker build -t http-server .

步骤4: 运行Docker容器

构建完成后,运行容器:

docker run -d -p 8080:8080 http-server

现在你可以通过浏览器访问 http://192.168.101.146:8080,你应该会看到“Hello, World!”的消息。

 

 

标签:HTTP,self,server,构建,http,Docker,Server
From: https://www.cnblogs.com/muxinq/p/18233619

相关文章

  • 云原生时代:从 Jenkins 到 Argo Workflows,构建高效 CI Pipeline
    作者:蔡靖ArgoWorkflowsArgoWorkflows[1]是用于在Kubernetes上编排Job的开源的云原生工作流引擎。可以轻松自动化和管理Kubernetes上的复杂工作流程。适用于各种场景,包括定时任务、机器学习、ETL和数据分析、模型训练、数据流pipline、CI/CD等。KubernetesJobs......
  • SQL Server 学习随笔-2
    @@@@@SQLServer中go的作用在SQLServerManagementStudio(SSMS)或其他支持SQLServer的查询工具中,GO不是一个SQL标准语句,而是SSMS环境中的一个批处理分隔符。GO命令用于指示SSMS或其他工具将前面的SQL语句作为一个独立的批处理发送到SQLServer进行执行。使用GO命令的主要......
  • 如何从零开始创建一个完整的SpringBoot项目,逐步构建自己的技术栈。
     有的小伙伴虽然开发很多年,但是有很多连自己都没有动手去创建一个SpringBoot。原因各不相同,有的是开发项目比较忙,没有时间,刚去公司的时候项目的框架就是现成的,就一直用。还有就是自己没有闲下学习的习惯。我其实就是,最起码工作1-2的时候还没有自己创建过,当时自我学习的时间......
  • Ollama,在centos7宿主机上,curl http://宿主机IP:11434 提示拒绝访问 ,但是curl http://l
    Ollama,在centos7宿主机上,curlhttp://宿主机IP:11434提示拒绝访问,但是curlhttp://localhost:11434 正常 1.使用 netstat 或 ss 命令在宿主机上检查 11434 端口的状态[root@localhost~]#netstat-tulnp|grep11434tcp00127.0.0.1:11434......
  • sqlserver 通过压缩bak文件实现从服务器还原数据库《数据差异数个小时》
    十年河东,十年河西,莫欺少年穷学无止境,精益求精1、备份主服务器数据库并压缩publicvoidDbBack(){varbakname=@"ChargeDB_"+DateTime.Now.ToString("yyyyMMdd")+".bak";stringfilepath=@"D:\dbback\"+bakna......
  • Ubuntu server 24 (Linux) 安装部署smartdns 搭建智能DNS服务器
    SmartDNS是推荐本地运行的DNS服务器,SmartDNS接受本地客户端的DNS查询请求,从多个上游DNS服务器获取DNS查询结果,并将访问速度最快的结果返回给客户端,提高网络访问速度和准确性。支持指定域名IP地址,达到禁止过滤的效果。一安装smartdns1 关闭Ubuntu自带dns解析systemd-resolv......
  • CentOS-7.9 安装MongoDB6.0.6-server步骤
    下载解压wgethttps://repo.mongodb.org/yum/redhat/7/mongodb-org/6.0/x86_64/RPMS/mongodb-org-server-6.0.6-1.el7.x86_64.rpmsudorpm-ivhmongodb-org-server-6.0.6-1.el7.x86_64.rpm安装MongoDBsudomkdir-p/usr/local/mongodb/data/usr/local/mongodb/log/usr/lo......
  • [Proxy] 使用 Charles 对 Android 应用进行 HTTPS 数据抓包
    抓包工具Charleshttps://www.charlesproxy.com/操作步骤1.在电脑上安装Charles客户端并进行配置1.1设置ProxySetting1.2设置 SSLProxingSetting1.3重启Charles客户端2.在手机上安装Charles证书2.1将手机与电脑连接到同一WIFI网络2.2设置手机WIF......
  • DIYGW UniApp低代码可视化开发工具:构建移动应用的高效利器
    ​随着移动互联网的飞速发展,移动应用开发已成为当今技术领域的热点之一。然而,传统的移动应用开发方式需要编写大量的代码,这不仅提高了开发门槛,也延长了开发周期。为了解决这一问题,DIYGWUniApp低代码可视化开发工具应运而生,成为高效构建移动应用的利器。本文将详细介绍DIYGWUn......
  • Grafana监控系统的构建与实践
    本文深入探讨了Grafana的核心技术、数据源集成、仪表盘与可视化构建以及监控与告警配置,旨在为专业从业者提供全面的Grafana技术指南。关注【TechLeadCloud】,分享互联网架构、云服务技术的全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复......