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

Docker Desktop 打包Unity WebGL 程序,在Docker 中运行Unity WebGL 程序

Docker Desktop 打包Unity WebGL 程序,在Docker 中运行Unity WebGL 程序

目录

  1. 环境准备
  2. Nginx配置
  3. 容器操作
  4. 镜像管理
  5. 常用命令

环境准备

前提条件

  • 已安装Unity并完成WebGL构建
  • 已安装Docker环境

验证Docker安装

# 检查Docker版本
docker --version# 测试基础功能
docker pull hello-world
docker run hello-world

获取Nginx镜像

#获取最新版本nginx
docker pull nginx#获取指定版本的ngixn
docker pull nginx:1.25.3      

拉取镜像下载中

下载完成


Nginx配置

目录结构准备

mkdir F:\DockerHostFiles\nginx_data\html
mkdir F:\DockerHostFiles\nginx_data\conf

目录结构2

目录结构

配置文件 (default.conf)

这里的配置很奇怪,只要有server块就行,有其他块会报错。

server {listen       7963;server_name  localhost;root   /usr/share/nginx/html;index  index.html index.htm;# 日志配置error_log  /var/log/nginx/error.log debug;access_log /var/log/nginx/access.log main;# 静态文件服务location / {try_files $uri $uri/ /index.html;gzip off;  # 禁用动态压缩# CORS配置add_header 'Access-Control-Allow-Origin' '*';add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';}# 预压缩文件处理location ~ \.gz$ {sendfile off;directio off;tcp_nopush off;gzip off;add_header 'Content-Encoding' 'gzip';# 按类型设置MIMElocation ~ \.js\.gz$ { types { application/javascript gz; } }location ~ \.wasm\.gz$ { types { application/wasm gz; } }location ~ \.data\.gz$ { default_type application/octet-stream; }}# 原始文件处理location ~ \.(js|wasm|data)$ {sendfile off;location ~ \.js$ { types { application/javascript js; } }location ~ \.wasm$ { types { application/wasm wasm; } }location ~ \.data$ { default_type application/octet-stream; }}# 错误页面error_page 404 /404.html;location = /404.html { internal; }
}

容器操作

启动Nginx容器

运行nginx并且设置卷映射,
这里映射的端口应该和ngixn中的端口一致,在主机的58231端口绑定到容器的7963端口上

docker run -d --name my-nginx docker运行容器名称为 my-nginx
-v F:\DockerHostFiles\nginx_data\html:/usr/share/nginx/html \绑定html路径
-v F:\DockerHostFiles\nginx_data\conf:/etc/nginx/conf.d \绑定conf路径
-p 58231:7963 \绑定端口主机端口58231 映射到docker的7963端口
nginx使用的镜像是 nginx
docker run -d --name my-nginx \-v F:\DockerHostFiles\nginx_data\html:/usr/share/nginx/html \-v F:\DockerHostFiles\nginx_data\conf:/etc/nginx/conf.d \-p 58231:7963 \nginx

镜像管理

提交容器为新镜像

-a 创作者名称
-m 日志信息
my-nginx 容器名称
my-nginx-unity-webgl-app 导出的新的镜像名称

命令内容
docker commit提交
-a作者名称
-m日志内容
my-nginx容器名称
my-nginx-unity-webgl-app保存的镜像名称
docker commit -a "wyh" -m "Unity WebGL应用镜像" my-nginx my-nginx-unity-webgl-app

这时候可以使用docker images 看到有一个新的镜像被添加到镜像列表

导出镜像

将指定的镜像保存到指定的路径中,路径应使用双引号包裹

docker save -o将文件保存输出
“M:\DockerHostFiles\outFiles\Nginx_outFiles\my-unity-webgl-app.tar”输出路径,包名
my-nginx-unity-webgl-app
docker save -o "M:\DockerHostFiles\outFiles\Nginx_outFiles\my-unity-webgl-app.tar" my-nginx-unity-webgl-app

导入镜像

将刚刚的镜像导入到docekr中,但是需要先将之前的镜像删除docker rmi my-nginx-unity-webgl-app

docker load -idocker 加载
“M:\DockerHostFiles\outFiles\Nginx_outFiles\my-unity-webgl-app.tar”被包的路径
docker load -i "M:\DockerHostFiles\outFiles\Nginx_outFiles\my-unity-webgl-app.tar"

验证镜像

docker images

常用命令参考

# 查看Docker系统信息
docker info# 查看版本信息
docker version# 查看运行中的容器
docker ps# 查看所有容器
docker ps -a# 重启容器
docker restart [容器名称/ID]# 启动已停止容器
docker start [容器名称/ID]# 停止容器
docker stop [容器名称/ID]# 执行容器内命令
# 在my-nginx 这个容器中执行nginx -s reload 命令
docker exec -it my-nginx nginx -s reload
http://www.xdnf.cn/news/1174627.html

相关文章:

  • 【Linux系统编程】基础指令
  • MYSQL 笔记3
  • 天津大学陈亚楠教授团队 ACS AEM:焦耳热超快合成非平衡态能源材料——毫秒级制备与跨体系性能突破
  • 2025-07-23vscode+cline使用笔记
  • springcloud环境和工程搭建
  • AI 驱动与数字化技术双突破!华南Formnext展3D 打印开启智能制造新场景
  • 基于Seata的微服务分布式事务实战经验分享
  • 策略模式(Strategy Pattern)+ 模板方法模式(Template Method Pattern)的组合使用
  • android studio打包vue
  • 如何硬解析 .shp 文件中的几何体,拯救 .dbf、.shx 等文件缺失的 ESRI Shapefile 格式文件
  • .Net core 部署到IIS出现500.19Internal Server Error 解决方法
  • 变频器实习DAY12
  • VRRP技术-设备备份技术
  • Vue3 面试题及详细答案120道(61-75 )
  • Mermaid流程图
  • 思路探索:当大型语言模型遇见数据分析的现实挑战
  • vue3与ue5通信-工具类
  • 【音视频学习】四、深入解析视频技术中的YUV数据存储方式:从原理到实践
  • Kubernetes 服务发布进阶
  • Web后端实战:登录认证(JWT令牌生成和Filter过滤器Interceptor拦截器)
  • 使用 MobaXterm 登录你的阿里云 ECS 实例
  • springboot 3.0 和 2.0 校验用的包不一样
  • 压测软件JMeter安装配置以及创建桌面快捷方式(详细图解)
  • 18.设备虚拟化
  • Java按模板导出Excel
  • YOLOv5模型剪枝实战教程
  • Java项目中定时任务三方工具和技术的深度应用指南
  • Android埋点实现方案深度分析
  • Docker 应用数据备份、迁移方案
  • 设计模式代码总结