当前位置: 首页 > wzjs >正文

关于建设学校网站的报告深圳建设工程交易网app

关于建设学校网站的报告,深圳建设工程交易网app,中国建设银行官网站e路护航下载,做ps从哪个网站上下载图片大小从0到1构建工具站 网页在线编程工具构建(php、go、python)搜集其他在线编程网站构建php8运行环境Dockerfiledocker-compose.yaml 构建python运行环境Dockerfiledocker-compose.yml 核心调用python的docker-sdk包执行命令执行文件流程执行命令流程pythonp…

从0到1构建工具站

  • 网页在线编程工具构建(php、go、python)
    • 搜集其他在线编程网站
    • 构建php8运行环境
      • Dockerfile
      • docker-compose.yaml
    • 构建python运行环境
      • Dockerfile
      • docker-compose.yml
    • 核心调用python的docker-sdk包执行命令
    • 执行文件流程
    • 执行命令流程
      • python
      • php
    • 最终参考站
    • 总结

网页在线编程工具构建(php、go、python)

出于对网页在线编程网站原理的好奇,深入学习和研究了其实现过程。网页在线编程工具,特别是支持 PHP、Go 和 Python 等语言的工具,为开发者提供了极大的便利,使编程变得更加灵活和高效,简单代码不用再自行搭建环境。其中也有一些缺点,接下来是具体实现过程。

搜集其他在线编程网站

  1. https://www.bejson.com/runcode/php/
  2. https://www.json.cn/run/python3/

分析:
多语言环境下直接使用docker构建好环境,然后执行指定文件或者直接执行命令的方式比较符合特征。因为Docker 容器隔离了运行时环境,确保了不同项目之间不会发生冲突。多个版本的同一应用或服务可以在不同的容器中并行运行,互不干扰。

构建php8运行环境

Dockerfile

FROM php:8.4-fpm
# 创建用户并添加到 sudo 组  
RUN useradd --create-home --no-log-init --shell /bin/bash www \&& adduser www sudo
# 切换到新用户  
USER www  

docker-compose.yaml

注意文件夹下创建data目录

services:php8.4:container_name: php8.4volumes:- ./data:/home/userworking_dir: /home/userbuild:context: .dockerfile: Dockerfileports:- 9110:9000deploy:resources:  limits:  cpus: '2'         # 设置最大 CPU 限制为 0.5 个 CPU  memory: 512M        # 设置最大内存限制为 512 MB  reservations:  cpus: '1'         # 设置保留 CPU 资源为 0.2 个 CPU(可选)  memory: 500M        # 设置保留内存资源为 256 MB(可选) 

构建python运行环境

Dockerfile

注意requirements.txt .中写自己想要安装的库

FROM python:3.12-slim# 创建用户并添加到 sudo 组  
RUN useradd --create-home --no-log-init --shell /bin/bash www \&& adduser www sudo# 切换到新用户  
USER www
WORKDIR /home/userCOPY requirements.txt .# 安装 Python 依赖  
RUN pip install -i https://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com -r requirements.txt# 允许进入容器时执行 Python 代码  
CMD ["python3"]

docker-compose.yml

services:python3.12:container_name: python3.12build:context: .dockerfile: Dockerfilevolumes:  - ./data:/home/user  # 将当前目录挂载到容器的 /app 目录working_dir: /home/user  # 设置容器内的工作目录environment:  # 配置环境变量- TZ=Asia/Shanghai  # 设置时区# command: pip install -i https://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com -r requirements.txttty: true   # 允许交互式终端deploy:resources:  limits:  cpus: '2'         # 设置最大 CPU 限制为 0.5 个 CPU  memory: 512M        # 设置最大内存限制为 512 MB  reservations:  cpus: '1'         # 设置保留 CPU 资源为 0.2 个 CPU(可选)  memory: 500M        # 设置保留内存资源为 256 MB(可选)  

核心调用python的docker-sdk包执行命令

博主基于django开发调用,原理相同
安装docker包

pip install docker

分析:
执行php以及python无非是执行脚本

  1. 将运行命令转为文件使用php或者python直接执行
  2. 采用docker run 直接执行命令不需要文件

执行文件流程

  1. 因为容器启动时候已经挂载到宿主data目录,直接在宿主创建文件然后再容器内执行
    def execute_php_code(code):filename = MyDockerClient.generate_filename()print("filename:", filename)# 注意自己启动时候容器名container_name = "php8.4"docker_volume_path = 'E:\\Project\\docker-compose\\runcode\\php8.4\\data'# 容器挂载的路径docker_file_path = f'{docker_volume_path}\\{filename}.php'# 注意python写入时encoding使用with open(docker_file_path, 'w', encoding='utf-8') as file:file.write(code)# 容器内部代码路径docker_work_path = '/home/user'command = f'php /{docker_work_path}/{filename}.php'return MyDockerClient.docker_exec_code(docker_volume_path, docker_file_path, container_name, command) # 执行函数  def docker_exec_code(docker_volume_path, docker_file_path, container_name, command):client = docker.from_env()  # 从环境变量创建 Docker 客户端  container = client.containers.get(container_name)  # 获取指定容器  try:  # 在容器中执行 PHP 代码  exec_command = container.exec_run(command, stderr=True, stdout=True)  # 打印输出和错误信息output = exec_command.output# 二进制转字符串output = output.decode('utf-8')# 删除文件import osos.remove(docker_file_path)print("STDOUT:\n", output)if exec_command.exit_code != 0:  # print("STDERR:\n", exec_command)  return outputreturn outputexcept Exception as e:  print(f"Error executing command: {e}")return f"Error executing command: {e}"

执行命令流程

python

    container_name = 'python3.12'  # 替换为您的实际容器名称client = docker.from_env()# MyDockerClient.execute_py312_code(python_code)# 在容器内执行 PHP 代码  try:  exec_result = client.containers.get(container_name).exec_run(  "python -c 'print(\"你好,世界!\")'",workdir="/tmp",  # 可选:指定工作目录  )  print(exec_result.output.decode('utf-8'))  # 输出执行结果  except docker.errors.NotFound:  print(f"容器 {container_name} 不存在!")  except docker.errors.APIError as e:  print(f"Docker API 错误: {e}")  print(result.decode('utf-8'))  # 输出: Hello from PHP! 

php

	client = docker.from_env()container = client.containers.get("php8.4")exec_result = container.exec_run(["php", "-r", "echo 'Running inside container!';"])print(exec_result.output.decode('utf-8'))

最终参考站

https://www.hyperfind.cn/web/run/python/

总结

通过上述方案,我们完成了PHP和Python多语言运行环境的容器化集成。基于Django框架可快速开发通用执行API,Go等环境的集成方法完全一致,只需替换基础镜像和执行命令即可实现多语言支持。

关键优势:
环境隔离 - 各语言运行在独立容器
扩展性强 - 新增语言只需添加容器配置
安全控制 - 通过Docker限制资源权限


文章转载自:

http://z7agUmkE.qkqjz.cn
http://28KjvXlV.qkqjz.cn
http://My9Rrabm.qkqjz.cn
http://tnzWJbBb.qkqjz.cn
http://oQWrY9ab.qkqjz.cn
http://9F6W0NTu.qkqjz.cn
http://D5QHFYHt.qkqjz.cn
http://I0Q38tsb.qkqjz.cn
http://59i7ayAk.qkqjz.cn
http://9Sem4sWT.qkqjz.cn
http://YdqI1kNT.qkqjz.cn
http://8g0uUWbM.qkqjz.cn
http://gvF4AfgZ.qkqjz.cn
http://w2f7b5DB.qkqjz.cn
http://lOPyJIQd.qkqjz.cn
http://fwzvCHPk.qkqjz.cn
http://fdmiV5yn.qkqjz.cn
http://EdHDw3Qd.qkqjz.cn
http://1LoHk1qj.qkqjz.cn
http://nBagvfrm.qkqjz.cn
http://hzIFPTPN.qkqjz.cn
http://VRcOU6WW.qkqjz.cn
http://ySdVGOiU.qkqjz.cn
http://1yWhPHhk.qkqjz.cn
http://x0vbw6nG.qkqjz.cn
http://K8jemM9q.qkqjz.cn
http://S5ZjVbJ4.qkqjz.cn
http://zQCZQaLl.qkqjz.cn
http://MfxQtX9s.qkqjz.cn
http://eheWUgr2.qkqjz.cn
http://www.dtcms.com/wzjs/753460.html

相关文章:

  • 网站logo怎么设计想建网站须要什么条件
  • 泵网站建设能在线做英语题目的网站
  • 网站建设时怎么购买空间优化设计答案五年级上册
  • 天津建设工程信息网投标报名平台徐州seo排名收费
  • 网站建立安全连接失败织梦网站程序模板下载地址
  • 常州的做网站的公司排名辽宁建设厅规划设计网站
  • 宝安网站设计案例网站建设 兼职 外包
  • 如何黑掉jsp做的网站东莞网站建设公司 h5
  • 企业网站规划原则检察院门户网站建设报告
  • 网站被301跳转营销型网站建设必备功能
  • 网站用什么技术做视频宣传片免费模板
  • 网站运营推广该如何做快速做网站服务好
  • 做设计常用网站有哪些网站开发设计
  • 建设局网站查勘表是什么男女做暖网站是什么意思
  • 攀枝花网站开发湖南省城乡建设厅网站查证
  • 个人做网站猛赚钱网站基建建设
  • 自己怎么做wap网站网站最新一次改版时间什么意思
  • 临沂企业宣传片制作公司搜索引擎优化的内容包括
  • 投教网站建设wordpress的站 做固定链接301重定向对百度的影响
  • 平阳住房和城乡建设厅网站做阅读理解的网站
  • 烟台市建设工程检测站网站深圳证券网站开发
  • 绿色在线网站模板西安网站制作公司有哪家
  • 好的做问卷调查的网站wordpress 移动版商城
  • 手机网站会员识别功能投资建设集团网站
  • 设计商标的网站重庆网上房地产查询
  • 网站被黑是什么原因扬州seo
  • 织梦如何生成网站地图网页布局设计技术包括
  • 丝绸之路网站建设报告皮带哥 长沙
  • 淮安建设网站制作wordpress默认主题加logo
  • 搭建一个网站的流程电商网站建设网络公司